Merge branch 'develop' into charlie
This commit is contained in:
commit
42e825c8e3
587 changed files with 10563 additions and 3575 deletions
6
.github/ISSUE_TEMPLATE/showcase-template.md
vendored
6
.github/ISSUE_TEMPLATE/showcase-template.md
vendored
|
@ -8,9 +8,9 @@ assignees: ''
|
||||||
---
|
---
|
||||||
|
|
||||||
- Content: Provide a link here to where we can find the content
|
- Content: Provide a link here to where we can find the content
|
||||||
- Permission:
|
- Permission:
|
||||||
- [ ] I am the original author, and hereby grant permission to repost this content
|
- [ ] I am the original author, and hereby grant permission to repost this content
|
||||||
- [ ] I am not the original author, please ask permission from them
|
- [ ] I am not the original author, please ask permission from them
|
||||||
- Username: Please enter the FreeSewing username of the orignal author (if you know it)
|
- Credit: Please enter the FreeSewing, Instagram, Twitter, or other username of the original author (if you know it and they want to be credited)
|
||||||
|
|
||||||
Looking to tackle this issue? We have [a how-to that shows how to add a showcase to the site]( https://freesewing.dev/editors/showcase/).
|
Looking to tackle this issue? We have [a how-to that shows how to add a showcase to the site](https://freesewing.dev/editors/howtos/showcase/).
|
||||||
|
|
2
.github/workflows/tests.aaron.yml
vendored
2
.github/workflows/tests.aaron.yml
vendored
|
@ -23,7 +23,7 @@ jobs:
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Install peer & test dependencies
|
- name: Install peer & test dependencies
|
||||||
run: "cd packages/aaron && npm install @freesewing/core@^2.12.1 @freesewing/plugin-bundle@^2.12.1 @freesewing/brian@^2.12.1 @freesewing/models@2.12.1 @freesewing/pattern-info@2.12.1 mocha chai"
|
run: "cd packages/aaron && npm install @freesewing/core@^2.14.0 @freesewing/plugin-bundle@^2.14.0 @freesewing/brian@^2.14.0 @freesewing/models@2.14.0 @freesewing/pattern-info@2.14.0 mocha chai"
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Build pattern
|
- name: Build pattern
|
||||||
|
|
2
.github/workflows/tests.albert.yml
vendored
2
.github/workflows/tests.albert.yml
vendored
|
@ -23,7 +23,7 @@ jobs:
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Install peer & test dependencies
|
- name: Install peer & test dependencies
|
||||||
run: "cd packages/albert && npm install @freesewing/core@^2.12.1 @freesewing/plugin-bundle@^2.12.1 @freesewing/models@2.12.1 @freesewing/pattern-info@2.12.1 mocha chai"
|
run: "cd packages/albert && npm install @freesewing/core@^2.14.0 @freesewing/plugin-bundle@^2.14.0 @freesewing/models@2.14.0 @freesewing/pattern-info@2.14.0 mocha chai"
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Build pattern
|
- name: Build pattern
|
||||||
|
|
2
.github/workflows/tests.bella.yml
vendored
2
.github/workflows/tests.bella.yml
vendored
|
@ -23,7 +23,7 @@ jobs:
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Install peer & test dependencies
|
- name: Install peer & test dependencies
|
||||||
run: "cd packages/bella && npm install @freesewing/core@^2.12.1 @freesewing/plugin-bundle@^2.12.1 @freesewing/models@2.12.1 @freesewing/pattern-info@2.12.1 mocha chai"
|
run: "cd packages/bella && npm install @freesewing/core@^2.14.0 @freesewing/plugin-bundle@^2.14.0 @freesewing/models@2.14.0 @freesewing/pattern-info@2.14.0 mocha chai"
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Build pattern
|
- name: Build pattern
|
||||||
|
|
2
.github/workflows/tests.benjamin.yml
vendored
2
.github/workflows/tests.benjamin.yml
vendored
|
@ -23,7 +23,7 @@ jobs:
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Install peer & test dependencies
|
- name: Install peer & test dependencies
|
||||||
run: "cd packages/benjamin && npm install @freesewing/core@^2.12.1 @freesewing/plugin-bundle@^2.12.1 @freesewing/models@2.12.1 @freesewing/pattern-info@2.12.1 mocha chai"
|
run: "cd packages/benjamin && npm install @freesewing/core@^2.14.0 @freesewing/plugin-bundle@^2.14.0 @freesewing/models@2.14.0 @freesewing/pattern-info@2.14.0 mocha chai"
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Build pattern
|
- name: Build pattern
|
||||||
|
|
2
.github/workflows/tests.bent.yml
vendored
2
.github/workflows/tests.bent.yml
vendored
|
@ -23,7 +23,7 @@ jobs:
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Install peer & test dependencies
|
- name: Install peer & test dependencies
|
||||||
run: "cd packages/bent && npm install @freesewing/core@^2.12.1 @freesewing/plugin-bundle@^2.12.1 @freesewing/brian@^2.12.1 @freesewing/models@2.12.1 @freesewing/pattern-info@2.12.1 mocha chai"
|
run: "cd packages/bent && npm install @freesewing/core@^2.14.0 @freesewing/plugin-bundle@^2.14.0 @freesewing/brian@^2.14.0 @freesewing/models@2.14.0 @freesewing/pattern-info@2.14.0 mocha chai"
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Build pattern
|
- name: Build pattern
|
||||||
|
|
2
.github/workflows/tests.breanna.yml
vendored
2
.github/workflows/tests.breanna.yml
vendored
|
@ -23,7 +23,7 @@ jobs:
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Install peer & test dependencies
|
- name: Install peer & test dependencies
|
||||||
run: "cd packages/breanna && npm install @freesewing/core@^2.12.1 @freesewing/plugin-bundle@^2.12.1 @freesewing/brian@^2.12.1 @freesewing/models@2.12.1 @freesewing/pattern-info@2.12.1 mocha chai"
|
run: "cd packages/breanna && npm install @freesewing/core@^2.14.0 @freesewing/plugin-bundle@^2.14.0 @freesewing/brian@^2.14.0 @freesewing/models@2.14.0 @freesewing/pattern-info@2.14.0 mocha chai"
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Build pattern
|
- name: Build pattern
|
||||||
|
|
2
.github/workflows/tests.brian.yml
vendored
2
.github/workflows/tests.brian.yml
vendored
|
@ -23,7 +23,7 @@ jobs:
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Install peer & test dependencies
|
- name: Install peer & test dependencies
|
||||||
run: "cd packages/brian && npm install @freesewing/core@^2.12.1 @freesewing/plugin-bundle@^2.12.1 @freesewing/models@2.12.1 @freesewing/pattern-info@2.12.1 mocha chai"
|
run: "cd packages/brian && npm install @freesewing/core@^2.14.0 @freesewing/plugin-bundle@^2.14.0 @freesewing/models@2.14.0 @freesewing/pattern-info@2.14.0 mocha chai"
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Build pattern
|
- name: Build pattern
|
||||||
|
|
2
.github/workflows/tests.bruce.yml
vendored
2
.github/workflows/tests.bruce.yml
vendored
|
@ -23,7 +23,7 @@ jobs:
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Install peer & test dependencies
|
- name: Install peer & test dependencies
|
||||||
run: "cd packages/bruce && npm install @freesewing/core@^2.12.1 @freesewing/plugin-bundle@^2.12.1 @freesewing/models@2.12.1 @freesewing/pattern-info@2.12.1 mocha chai"
|
run: "cd packages/bruce && npm install @freesewing/core@^2.14.0 @freesewing/plugin-bundle@^2.14.0 @freesewing/models@2.14.0 @freesewing/pattern-info@2.14.0 mocha chai"
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Build pattern
|
- name: Build pattern
|
||||||
|
|
2
.github/workflows/tests.carlita.yml
vendored
2
.github/workflows/tests.carlita.yml
vendored
|
@ -23,7 +23,7 @@ jobs:
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Install peer & test dependencies
|
- name: Install peer & test dependencies
|
||||||
run: "cd packages/carlita && npm install @freesewing/core@^2.12.1 @freesewing/plugin-bundle@^2.12.1 @freesewing/brian@^2.12.1 @freesewing/bent@^2.12.1 @freesewing/carlton@^2.12.1 @freesewing/plugin-bust@^2.12.1 @freesewing/plugin-buttons@^2.12.1 @freesewing/models@2.12.1 @freesewing/pattern-info@2.12.1 mocha chai"
|
run: "cd packages/carlita && npm install @freesewing/core@^2.14.0 @freesewing/plugin-bundle@^2.14.0 @freesewing/brian@^2.14.0 @freesewing/bent@^2.14.0 @freesewing/carlton@^2.14.0 @freesewing/plugin-bust@^2.14.0 @freesewing/plugin-buttons@^2.14.0 @freesewing/models@2.14.0 @freesewing/pattern-info@2.14.0 mocha chai"
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Build pattern
|
- name: Build pattern
|
||||||
|
|
2
.github/workflows/tests.carlton.yml
vendored
2
.github/workflows/tests.carlton.yml
vendored
|
@ -23,7 +23,7 @@ jobs:
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Install peer & test dependencies
|
- name: Install peer & test dependencies
|
||||||
run: "cd packages/carlton && npm install @freesewing/core@^2.12.1 @freesewing/plugin-bundle@^2.12.1 @freesewing/brian@^2.12.1 @freesewing/bent@^2.12.1 @freesewing/plugin-buttons@^2.12.1 @freesewing/models@2.12.1 @freesewing/pattern-info@2.12.1 mocha chai"
|
run: "cd packages/carlton && npm install @freesewing/core@^2.14.0 @freesewing/plugin-bundle@^2.14.0 @freesewing/brian@^2.14.0 @freesewing/bent@^2.14.0 @freesewing/plugin-buttons@^2.14.0 @freesewing/models@2.14.0 @freesewing/pattern-info@2.14.0 mocha chai"
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Build pattern
|
- name: Build pattern
|
||||||
|
|
2
.github/workflows/tests.cathrin.yml
vendored
2
.github/workflows/tests.cathrin.yml
vendored
|
@ -23,7 +23,7 @@ jobs:
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Install peer & test dependencies
|
- name: Install peer & test dependencies
|
||||||
run: "cd packages/cathrin && npm install @freesewing/core@^2.12.1 @freesewing/plugin-bundle@^2.12.1 @freesewing/models@2.12.1 @freesewing/pattern-info@2.12.1 mocha chai"
|
run: "cd packages/cathrin && npm install @freesewing/core@^2.14.0 @freesewing/plugin-bundle@^2.14.0 @freesewing/models@2.14.0 @freesewing/pattern-info@2.14.0 mocha chai"
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Build pattern
|
- name: Build pattern
|
||||||
|
|
32
.github/workflows/tests.cornelius.yml
vendored
Normal file
32
.github/workflows/tests.cornelius.yml
vendored
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
name: Unit tests - Cornelius
|
||||||
|
|
||||||
|
on: [pull_request]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test:
|
||||||
|
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
node-version: [12.x]
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
- name: Setup Node.js ${{ matrix.node-version }}
|
||||||
|
uses: actions/setup-node@v1
|
||||||
|
with:
|
||||||
|
node-version: ${{ matrix.node-version }}
|
||||||
|
- name: Install dependencies
|
||||||
|
run: cd packages/cornelius && npm install
|
||||||
|
env:
|
||||||
|
CI: true
|
||||||
|
- name: Install peer & test dependencies
|
||||||
|
run: "cd packages/cornelius && npm install @freesewing/core@^2.14.0 @freesewing/plugin-bundle@^2.14.0 @freesewing/models@2.14.0 @freesewing/pattern-info@2.14.0 mocha chai"
|
||||||
|
env:
|
||||||
|
CI: true
|
||||||
|
- name: Build pattern
|
||||||
|
run: cd packages/cornelius && npm run build
|
||||||
|
- name: Run pattern unit tests
|
||||||
|
run: cd packages/cornelius && npm run testci
|
2
.github/workflows/tests.diana.yml
vendored
2
.github/workflows/tests.diana.yml
vendored
|
@ -23,7 +23,7 @@ jobs:
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Install peer & test dependencies
|
- name: Install peer & test dependencies
|
||||||
run: "cd packages/diana && npm install @freesewing/core@^2.12.1 @freesewing/plugin-bundle@^2.12.1 @freesewing/brian@^2.12.1 @freesewing/models@2.12.1 @freesewing/pattern-info@2.12.1 mocha chai"
|
run: "cd packages/diana && npm install @freesewing/core@^2.14.0 @freesewing/plugin-bundle@^2.14.0 @freesewing/brian@^2.14.0 @freesewing/models@2.14.0 @freesewing/pattern-info@2.14.0 mocha chai"
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Build pattern
|
- name: Build pattern
|
||||||
|
|
2
.github/workflows/tests.examples.yml
vendored
2
.github/workflows/tests.examples.yml
vendored
|
@ -23,7 +23,7 @@ jobs:
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Install peer & test dependencies
|
- name: Install peer & test dependencies
|
||||||
run: "cd packages/examples && npm install @freesewing/core@^2.12.1 @freesewing/plugin-bundle@^2.12.1 @freesewing/models@2.12.1 @freesewing/pattern-info@2.12.1 mocha chai"
|
run: "cd packages/examples && npm install @freesewing/core@^2.14.0 @freesewing/plugin-bundle@^2.14.0 @freesewing/models@2.14.0 @freesewing/pattern-info@2.14.0 mocha chai"
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Build pattern
|
- name: Build pattern
|
||||||
|
|
2
.github/workflows/tests.florence.yml
vendored
2
.github/workflows/tests.florence.yml
vendored
|
@ -23,7 +23,7 @@ jobs:
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Install peer & test dependencies
|
- name: Install peer & test dependencies
|
||||||
run: "cd packages/florence && npm install @freesewing/core@^2.12.1 @freesewing/plugin-bundle@^2.12.1 @freesewing/models@2.12.1 @freesewing/pattern-info@2.12.1 mocha chai"
|
run: "cd packages/florence && npm install @freesewing/core@^2.14.0 @freesewing/plugin-bundle@^2.14.0 @freesewing/models@2.14.0 @freesewing/pattern-info@2.14.0 mocha chai"
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Build pattern
|
- name: Build pattern
|
||||||
|
|
2
.github/workflows/tests.florent.yml
vendored
2
.github/workflows/tests.florent.yml
vendored
|
@ -23,7 +23,7 @@ jobs:
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Install peer & test dependencies
|
- name: Install peer & test dependencies
|
||||||
run: "cd packages/florent && npm install @freesewing/core@^2.12.1 @freesewing/plugin-bundle@^2.12.1 @freesewing/models@2.12.1 @freesewing/pattern-info@2.12.1 mocha chai"
|
run: "cd packages/florent && npm install @freesewing/core@^2.14.0 @freesewing/plugin-bundle@^2.14.0 @freesewing/models@2.14.0 @freesewing/pattern-info@2.14.0 mocha chai"
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Build pattern
|
- name: Build pattern
|
||||||
|
|
2
.github/workflows/tests.holmes.yml
vendored
2
.github/workflows/tests.holmes.yml
vendored
|
@ -23,7 +23,7 @@ jobs:
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Install peer & test dependencies
|
- name: Install peer & test dependencies
|
||||||
run: "cd packages/holmes && npm install @freesewing/core@^2.12.1 @freesewing/plugin-bundle@^2.12.1 @freesewing/plugin-bust@^2.12.1 @freesewing/models@2.12.1 @freesewing/pattern-info@2.12.1 mocha chai"
|
run: "cd packages/holmes && npm install @freesewing/core@^2.14.0 @freesewing/plugin-bundle@^2.14.0 @freesewing/plugin-bust@^2.14.0 @freesewing/models@2.14.0 @freesewing/pattern-info@2.14.0 mocha chai"
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Build pattern
|
- name: Build pattern
|
||||||
|
|
2
.github/workflows/tests.hortensia.yml
vendored
2
.github/workflows/tests.hortensia.yml
vendored
|
@ -23,7 +23,7 @@ jobs:
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Install peer & test dependencies
|
- name: Install peer & test dependencies
|
||||||
run: "cd packages/hortensia && npm install @freesewing/core@^2.12.1 @freesewing/plugin-bundle@^2.12.1 @freesewing/models@2.12.1 @freesewing/pattern-info@2.12.1 mocha chai"
|
run: "cd packages/hortensia && npm install @freesewing/core@^2.14.0 @freesewing/plugin-bundle@^2.14.0 @freesewing/models@2.14.0 @freesewing/pattern-info@2.14.0 mocha chai"
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Build pattern
|
- name: Build pattern
|
||||||
|
|
2
.github/workflows/tests.huey.yml
vendored
2
.github/workflows/tests.huey.yml
vendored
|
@ -23,7 +23,7 @@ jobs:
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Install peer & test dependencies
|
- name: Install peer & test dependencies
|
||||||
run: "cd packages/huey && npm install @freesewing/core@^2.12.1 @freesewing/plugin-bundle@^2.12.1 @freesewing/brian@^2.12.1 @freesewing/models@2.12.1 @freesewing/pattern-info@2.12.1 mocha chai"
|
run: "cd packages/huey && npm install @freesewing/core@^2.14.0 @freesewing/plugin-bundle@^2.14.0 @freesewing/brian@^2.14.0 @freesewing/models@2.14.0 @freesewing/pattern-info@2.14.0 mocha chai"
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Build pattern
|
- name: Build pattern
|
||||||
|
|
2
.github/workflows/tests.hugo.yml
vendored
2
.github/workflows/tests.hugo.yml
vendored
|
@ -23,7 +23,7 @@ jobs:
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Install peer & test dependencies
|
- name: Install peer & test dependencies
|
||||||
run: "cd packages/hugo && npm install @freesewing/core@^2.12.1 @freesewing/plugin-bundle@^2.12.1 @freesewing/brian@^2.12.1 @freesewing/models@2.12.1 @freesewing/pattern-info@2.12.1 mocha chai"
|
run: "cd packages/hugo && npm install @freesewing/core@^2.14.0 @freesewing/plugin-bundle@^2.14.0 @freesewing/brian@^2.14.0 @freesewing/models@2.14.0 @freesewing/pattern-info@2.14.0 mocha chai"
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Build pattern
|
- name: Build pattern
|
||||||
|
|
2
.github/workflows/tests.jaeger.yml
vendored
2
.github/workflows/tests.jaeger.yml
vendored
|
@ -23,7 +23,7 @@ jobs:
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Install peer & test dependencies
|
- name: Install peer & test dependencies
|
||||||
run: "cd packages/jaeger && npm install @freesewing/core@^2.12.1 @freesewing/plugin-bundle@^2.12.1 @freesewing/brian@^2.12.1 @freesewing/bent@^2.12.1 @freesewing/plugin-buttons@^2.12.1 @freesewing/models@2.12.1 @freesewing/pattern-info@2.12.1 mocha chai"
|
run: "cd packages/jaeger && npm install @freesewing/core@^2.14.0 @freesewing/plugin-bundle@^2.14.0 @freesewing/brian@^2.14.0 @freesewing/bent@^2.14.0 @freesewing/plugin-buttons@^2.14.0 @freesewing/models@2.14.0 @freesewing/pattern-info@2.14.0 mocha chai"
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Build pattern
|
- name: Build pattern
|
||||||
|
|
2
.github/workflows/tests.legend.yml
vendored
2
.github/workflows/tests.legend.yml
vendored
|
@ -23,7 +23,7 @@ jobs:
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Install peer & test dependencies
|
- name: Install peer & test dependencies
|
||||||
run: "cd packages/legend && npm install @freesewing/core@^2.12.1 @freesewing/plugin-bundle@^2.12.1 @freesewing/plugin-buttons@^2.12.1 @freesewing/models@2.12.1 @freesewing/pattern-info@2.12.1 mocha chai"
|
run: "cd packages/legend && npm install @freesewing/core@^2.14.0 @freesewing/plugin-bundle@^2.14.0 @freesewing/plugin-buttons@^2.14.0 @freesewing/models@2.14.0 @freesewing/pattern-info@2.14.0 mocha chai"
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Build pattern
|
- name: Build pattern
|
||||||
|
|
2
.github/workflows/tests.paco.yml
vendored
2
.github/workflows/tests.paco.yml
vendored
|
@ -23,7 +23,7 @@ jobs:
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Install peer & test dependencies
|
- name: Install peer & test dependencies
|
||||||
run: "cd packages/paco && npm install @freesewing/core@^2.12.1 @freesewing/plugin-bundle@^2.12.1 @freesewing/titan@^2.12.1 @freesewing/models@2.12.1 @freesewing/pattern-info@2.12.1 mocha chai"
|
run: "cd packages/paco && npm install @freesewing/core@^2.14.0 @freesewing/plugin-bundle@^2.14.0 @freesewing/titan@^2.14.0 @freesewing/models@2.14.0 @freesewing/pattern-info@2.14.0 mocha chai"
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Build pattern
|
- name: Build pattern
|
||||||
|
|
2
.github/workflows/tests.penelope.yml
vendored
2
.github/workflows/tests.penelope.yml
vendored
|
@ -23,7 +23,7 @@ jobs:
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Install peer & test dependencies
|
- name: Install peer & test dependencies
|
||||||
run: "cd packages/penelope && npm install @freesewing/core@^2.12.1 @freesewing/plugin-bundle@^2.12.1 @freesewing/models@2.12.1 @freesewing/pattern-info@2.12.1 mocha chai"
|
run: "cd packages/penelope && npm install @freesewing/core@^2.14.0 @freesewing/plugin-bundle@^2.14.0 @freesewing/models@2.14.0 @freesewing/pattern-info@2.14.0 mocha chai"
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Build pattern
|
- name: Build pattern
|
||||||
|
|
2
.github/workflows/tests.rendertest.yml
vendored
2
.github/workflows/tests.rendertest.yml
vendored
|
@ -23,7 +23,7 @@ jobs:
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Install peer & test dependencies
|
- name: Install peer & test dependencies
|
||||||
run: "cd packages/rendertest && npm install @freesewing/core@^2.12.1 @freesewing/plugin-bundle@^2.12.1 @freesewing/models@2.12.1 @freesewing/pattern-info@2.12.1 mocha chai"
|
run: "cd packages/rendertest && npm install @freesewing/core@^2.14.0 @freesewing/plugin-bundle@^2.14.0 @freesewing/models@2.14.0 @freesewing/pattern-info@2.14.0 mocha chai"
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Build pattern
|
- name: Build pattern
|
||||||
|
|
2
.github/workflows/tests.sandy.yml
vendored
2
.github/workflows/tests.sandy.yml
vendored
|
@ -23,7 +23,7 @@ jobs:
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Install peer & test dependencies
|
- name: Install peer & test dependencies
|
||||||
run: "cd packages/sandy && npm install @freesewing/core@^2.12.1 @freesewing/plugin-bundle@^2.12.1 @freesewing/models@2.12.1 @freesewing/pattern-info@2.12.1 mocha chai"
|
run: "cd packages/sandy && npm install @freesewing/core@^2.14.0 @freesewing/plugin-bundle@^2.14.0 @freesewing/models@2.14.0 @freesewing/pattern-info@2.14.0 mocha chai"
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Build pattern
|
- name: Build pattern
|
||||||
|
|
2
.github/workflows/tests.shin.yml
vendored
2
.github/workflows/tests.shin.yml
vendored
|
@ -23,7 +23,7 @@ jobs:
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Install peer & test dependencies
|
- name: Install peer & test dependencies
|
||||||
run: "cd packages/shin && npm install @freesewing/core@^2.12.1 @freesewing/plugin-bundle@^2.12.1 @freesewing/models@2.12.1 @freesewing/pattern-info@2.12.1 mocha chai"
|
run: "cd packages/shin && npm install @freesewing/core@^2.14.0 @freesewing/plugin-bundle@^2.14.0 @freesewing/models@2.14.0 @freesewing/pattern-info@2.14.0 mocha chai"
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Build pattern
|
- name: Build pattern
|
||||||
|
|
2
.github/workflows/tests.simon.yml
vendored
2
.github/workflows/tests.simon.yml
vendored
|
@ -23,7 +23,7 @@ jobs:
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Install peer & test dependencies
|
- name: Install peer & test dependencies
|
||||||
run: "cd packages/simon && npm install @freesewing/core@^2.12.1 @freesewing/plugin-bundle@^2.12.1 @freesewing/brian@^2.12.1 @freesewing/plugin-buttons@^2.12.1 @freesewing/plugin-flip@^2.12.1 @freesewing/models@2.12.1 @freesewing/pattern-info@2.12.1 mocha chai"
|
run: "cd packages/simon && npm install @freesewing/core@^2.14.0 @freesewing/plugin-bundle@^2.14.0 @freesewing/brian@^2.14.0 @freesewing/plugin-buttons@^2.14.0 @freesewing/plugin-flip@^2.14.0 @freesewing/models@2.14.0 @freesewing/pattern-info@2.14.0 mocha chai"
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Build pattern
|
- name: Build pattern
|
||||||
|
|
2
.github/workflows/tests.simone.yml
vendored
2
.github/workflows/tests.simone.yml
vendored
|
@ -23,7 +23,7 @@ jobs:
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Install peer & test dependencies
|
- name: Install peer & test dependencies
|
||||||
run: "cd packages/simone && npm install @freesewing/core@^2.12.1 @freesewing/plugin-bundle@^2.12.1 @freesewing/brian@^2.12.1 @freesewing/simon@^2.12.1 @freesewing/plugin-buttons@^2.12.1 @freesewing/plugin-flip@^2.12.1 @freesewing/plugin-bust@^2.12.1 @freesewing/models@2.12.1 @freesewing/pattern-info@2.12.1 mocha chai"
|
run: "cd packages/simone && npm install @freesewing/core@^2.14.0 @freesewing/plugin-bundle@^2.14.0 @freesewing/brian@^2.14.0 @freesewing/simon@^2.14.0 @freesewing/plugin-buttons@^2.14.0 @freesewing/plugin-flip@^2.14.0 @freesewing/plugin-bust@^2.14.0 @freesewing/models@2.14.0 @freesewing/pattern-info@2.14.0 mocha chai"
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Build pattern
|
- name: Build pattern
|
||||||
|
|
2
.github/workflows/tests.sven.yml
vendored
2
.github/workflows/tests.sven.yml
vendored
|
@ -23,7 +23,7 @@ jobs:
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Install peer & test dependencies
|
- name: Install peer & test dependencies
|
||||||
run: "cd packages/sven && npm install @freesewing/core@^2.12.1 @freesewing/plugin-bundle@^2.12.1 @freesewing/brian@^2.12.1 @freesewing/models@2.12.1 @freesewing/pattern-info@2.12.1 mocha chai"
|
run: "cd packages/sven && npm install @freesewing/core@^2.14.0 @freesewing/plugin-bundle@^2.14.0 @freesewing/brian@^2.14.0 @freesewing/models@2.14.0 @freesewing/pattern-info@2.14.0 mocha chai"
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Build pattern
|
- name: Build pattern
|
||||||
|
|
2
.github/workflows/tests.tamiko.yml
vendored
2
.github/workflows/tests.tamiko.yml
vendored
|
@ -23,7 +23,7 @@ jobs:
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Install peer & test dependencies
|
- name: Install peer & test dependencies
|
||||||
run: "cd packages/tamiko && npm install @freesewing/core@^2.12.1 @freesewing/plugin-bundle@^2.12.1 @freesewing/models@2.12.1 @freesewing/pattern-info@2.12.1 mocha chai"
|
run: "cd packages/tamiko && npm install @freesewing/core@^2.14.0 @freesewing/plugin-bundle@^2.14.0 @freesewing/models@2.14.0 @freesewing/pattern-info@2.14.0 mocha chai"
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Build pattern
|
- name: Build pattern
|
||||||
|
|
2
.github/workflows/tests.teagan.yml
vendored
2
.github/workflows/tests.teagan.yml
vendored
|
@ -23,7 +23,7 @@ jobs:
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Install peer & test dependencies
|
- name: Install peer & test dependencies
|
||||||
run: "cd packages/teagan && npm install @freesewing/core@^2.12.1 @freesewing/plugin-bundle@^2.12.1 @freesewing/brian@^2.12.1 @freesewing/plugin-bust@^2.12.1 @freesewing/models@2.12.1 @freesewing/pattern-info@2.12.1 mocha chai"
|
run: "cd packages/teagan && npm install @freesewing/core@^2.14.0 @freesewing/plugin-bundle@^2.14.0 @freesewing/brian@^2.14.0 @freesewing/plugin-bust@^2.14.0 @freesewing/models@2.14.0 @freesewing/pattern-info@2.14.0 mocha chai"
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Build pattern
|
- name: Build pattern
|
||||||
|
|
2
.github/workflows/tests.theo.yml
vendored
2
.github/workflows/tests.theo.yml
vendored
|
@ -23,7 +23,7 @@ jobs:
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Install peer & test dependencies
|
- name: Install peer & test dependencies
|
||||||
run: "cd packages/theo && npm install @freesewing/core@^2.12.1 @freesewing/plugin-bundle@^2.12.1 @freesewing/models@2.12.1 @freesewing/pattern-info@2.12.1 mocha chai"
|
run: "cd packages/theo && npm install @freesewing/core@^2.14.0 @freesewing/plugin-bundle@^2.14.0 @freesewing/models@2.14.0 @freesewing/pattern-info@2.14.0 mocha chai"
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Build pattern
|
- name: Build pattern
|
||||||
|
|
2
.github/workflows/tests.titan.yml
vendored
2
.github/workflows/tests.titan.yml
vendored
|
@ -23,7 +23,7 @@ jobs:
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Install peer & test dependencies
|
- name: Install peer & test dependencies
|
||||||
run: "cd packages/titan && npm install @freesewing/core@^2.12.1 @freesewing/plugin-bundle@^2.12.1 @freesewing/models@2.12.1 @freesewing/pattern-info@2.12.1 mocha chai"
|
run: "cd packages/titan && npm install @freesewing/core@^2.14.0 @freesewing/plugin-bundle@^2.14.0 @freesewing/models@2.14.0 @freesewing/pattern-info@2.14.0 mocha chai"
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Build pattern
|
- name: Build pattern
|
||||||
|
|
2
.github/workflows/tests.trayvon.yml
vendored
2
.github/workflows/tests.trayvon.yml
vendored
|
@ -23,7 +23,7 @@ jobs:
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Install peer & test dependencies
|
- name: Install peer & test dependencies
|
||||||
run: "cd packages/trayvon && npm install @freesewing/core@^2.12.1 @freesewing/plugin-bundle@^2.12.1 @freesewing/models@2.12.1 @freesewing/pattern-info@2.12.1 mocha chai"
|
run: "cd packages/trayvon && npm install @freesewing/core@^2.14.0 @freesewing/plugin-bundle@^2.14.0 @freesewing/models@2.14.0 @freesewing/pattern-info@2.14.0 mocha chai"
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Build pattern
|
- name: Build pattern
|
||||||
|
|
2
.github/workflows/tests.tutorial.yml
vendored
2
.github/workflows/tests.tutorial.yml
vendored
|
@ -23,7 +23,7 @@ jobs:
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Install peer & test dependencies
|
- name: Install peer & test dependencies
|
||||||
run: "cd packages/tutorial && npm install @freesewing/core@^2.12.1 @freesewing/plugin-bundle@^2.12.1 @freesewing/models@2.12.1 @freesewing/pattern-info@2.12.1 mocha chai"
|
run: "cd packages/tutorial && npm install @freesewing/core@^2.14.0 @freesewing/plugin-bundle@^2.14.0 @freesewing/models@2.14.0 @freesewing/pattern-info@2.14.0 mocha chai"
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Build pattern
|
- name: Build pattern
|
||||||
|
|
2
.github/workflows/tests.wahid.yml
vendored
2
.github/workflows/tests.wahid.yml
vendored
|
@ -23,7 +23,7 @@ jobs:
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Install peer & test dependencies
|
- name: Install peer & test dependencies
|
||||||
run: "cd packages/wahid && npm install @freesewing/core@^2.12.1 @freesewing/plugin-bundle@^2.12.1 @freesewing/brian@^2.12.1 @freesewing/plugin-buttons@^2.12.1 @freesewing/plugin-round@^2.12.1 @freesewing/models@2.12.1 @freesewing/pattern-info@2.12.1 mocha chai"
|
run: "cd packages/wahid && npm install @freesewing/core@^2.14.0 @freesewing/plugin-bundle@^2.14.0 @freesewing/brian@^2.14.0 @freesewing/plugin-buttons@^2.14.0 @freesewing/plugin-round@^2.14.0 @freesewing/models@2.14.0 @freesewing/pattern-info@2.14.0 mocha chai"
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Build pattern
|
- name: Build pattern
|
||||||
|
|
2
.github/workflows/tests.waralee.yml
vendored
2
.github/workflows/tests.waralee.yml
vendored
|
@ -23,7 +23,7 @@ jobs:
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Install peer & test dependencies
|
- name: Install peer & test dependencies
|
||||||
run: "cd packages/waralee && npm install @freesewing/core@^2.12.1 @freesewing/plugin-bundle@^2.12.1 @freesewing/models@2.12.1 @freesewing/pattern-info@2.12.1 mocha chai"
|
run: "cd packages/waralee && npm install @freesewing/core@^2.14.0 @freesewing/plugin-bundle@^2.14.0 @freesewing/models@2.14.0 @freesewing/pattern-info@2.14.0 mocha chai"
|
||||||
env:
|
env:
|
||||||
CI: true
|
CI: true
|
||||||
- name: Build pattern
|
- name: Build pattern
|
||||||
|
|
169
CHANGELOG.md
169
CHANGELOG.md
|
@ -1,6 +1,175 @@
|
||||||
# Change log for: FreeSewing (global)
|
# Change log for: FreeSewing (global)
|
||||||
|
|
||||||
|
|
||||||
|
## 2.14.0 (2021-03-07)
|
||||||
|
|
||||||
|
### components
|
||||||
|
|
||||||
|
#### Added
|
||||||
|
|
||||||
|
- Added Bella linedrawing
|
||||||
|
- Added Cornelius linedrawing
|
||||||
|
|
||||||
|
### cornelius
|
||||||
|
|
||||||
|
#### Added
|
||||||
|
|
||||||
|
- Cornelius is a FreeSewing pattern for cycling breeches
|
||||||
|
|
||||||
|
### hugo
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
|
||||||
|
- Replaced grainline indicator on pocket with cut-on-fold indicator
|
||||||
|
|
||||||
|
### i18n
|
||||||
|
|
||||||
|
#### Added
|
||||||
|
|
||||||
|
- Added translations for Cornelius
|
||||||
|
|
||||||
|
|
||||||
|
## 2.13.2 (2021-02-21)
|
||||||
|
|
||||||
|
### bella
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
|
||||||
|
- Fixed issue with out-of-order execution
|
||||||
|
|
||||||
|
### create-freesewing-pattern
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
|
||||||
|
- Updated chat link from gitter to discord
|
||||||
|
|
||||||
|
### paco
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
|
||||||
|
- Only add paperless dimensions for pockets if we drafted pockets
|
||||||
|
|
||||||
|
### pattern-info
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
|
||||||
|
- Make pattern list alphabetic
|
||||||
|
|
||||||
|
### penelope
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
|
||||||
|
- Fixed issue in shape part
|
||||||
|
|
||||||
|
### simone
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
|
||||||
|
- Fixed type in bustsidecode finder code
|
||||||
|
|
||||||
|
### titan
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
|
||||||
|
- Always ensure point waistIn is created in back part
|
||||||
|
|
||||||
|
|
||||||
|
## 2.13.1 (2021-02-14)
|
||||||
|
|
||||||
|
### hortensia
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
|
||||||
|
- Fix incorrectly named part
|
||||||
|
|
||||||
|
### simon
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
|
||||||
|
- Added missing sleeve notch on yoke
|
||||||
|
|
||||||
|
### utils
|
||||||
|
|
||||||
|
#### Added
|
||||||
|
|
||||||
|
- Pass pattern handle to tiler
|
||||||
|
|
||||||
|
|
||||||
|
## 2.13.0 (2021-02-13)
|
||||||
|
|
||||||
|
### bella
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
|
||||||
|
- Verify whether back dart passes armhole depth
|
||||||
|
|
||||||
|
### breanna
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
|
||||||
|
- Try harder to find the intersection point for the scyedart
|
||||||
|
- Define missing y variable in paperless branch
|
||||||
|
|
||||||
|
### bruce
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
|
||||||
|
- Added notches to facilitate seam matching
|
||||||
|
|
||||||
|
### components
|
||||||
|
|
||||||
|
#### Added
|
||||||
|
|
||||||
|
- Linedrawing for hortensia
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
|
||||||
|
- Check point attributes are present before using them
|
||||||
|
|
||||||
|
### hortensia
|
||||||
|
|
||||||
|
#### Added
|
||||||
|
|
||||||
|
- Initial release of Hortensia, a handbag pattern
|
||||||
|
|
||||||
|
### hugo
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
|
||||||
|
- Fix style of the seam allowance paths
|
||||||
|
- Fix sleeve dependencies
|
||||||
|
|
||||||
|
### i18n
|
||||||
|
|
||||||
|
#### Added
|
||||||
|
|
||||||
|
- Translation for Hortensia
|
||||||
|
|
||||||
|
### simone
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
|
||||||
|
- Force bust dart intersection if not found initially
|
||||||
|
|
||||||
|
### theo
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
|
||||||
|
- Check for intersection returning an array
|
||||||
|
|
||||||
|
### titan
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
|
||||||
|
- Always balance the waist
|
||||||
|
|
||||||
|
### wahid
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
|
||||||
|
- Make sure roudEnd and roundStart points are always available
|
||||||
|
|
||||||
|
|
||||||
## 2.12.1 (2021-01-27)
|
## 2.12.1 (2021-01-27)
|
||||||
|
|
||||||
### create-freesewing-pattern
|
### create-freesewing-pattern
|
||||||
|
|
|
@ -1,24 +1,18 @@
|
||||||
##### Next contributor call: Saturday 23 January
|
##### Next contributor call: Saturday 6 March
|
||||||
|
|
||||||
Note that the next contributor call is on Saturday the 23rd of January.
|
Note that the next contributor call is on Saturday the 6th of March.
|
||||||
|
|
||||||
For details and timing (including different time zones)
|
For details and timing (including different time zones)
|
||||||
check [issue #744](https://github.com/freesewing/freesewing/issues/774).
|
check [issue #878](https://github.com/freesewing/freesewing/issues/878).
|
||||||
|
|
||||||
|
|
||||||
##### New FreeSewing sub-Reddit and Facebook group
|
##### Project board: Our overall todo list
|
||||||
|
|
||||||
Some news from the communtity team:
|
Did you know we have a project board that list all of our issues?
|
||||||
|
It's a great place to see what we're working on, or what you could help with.
|
||||||
|
|
||||||
- Redittors: Head over to [r/freesewing](redditors) for a subreddit by the FreeSewing community.
|
Go to [todo.freesewing.org](https://todo.freesewing.org/) to get there.
|
||||||
- Facebook people: This [FreeSewing Facebook group](https://www.facebook.com/groups/627769821272714/) is for you.
|
|
||||||
|
|
||||||
Less new but still relevant: We're also on
|
|
||||||
[Discord](https://discord.freesewing.org),
|
|
||||||
[Instagram](https://instagram.com/freesewing_org),
|
|
||||||
[Twitter](https://twitter.com/freesewing_org),
|
|
||||||
and [Github](https://github.com/freesewing),
|
|
||||||
but you knew that, right?
|
|
||||||
|
|
||||||
##### Updated developer documentation
|
##### Updated developer documentation
|
||||||
|
|
||||||
|
@ -29,18 +23,3 @@ on [freesewing.org](https://freesewing.org/), our website for makers.
|
||||||
If you find anything lacking or broken, please don't hesitate
|
If you find anything lacking or broken, please don't hesitate
|
||||||
to [create an issue](https://github.com/freesewing/freesewing/issues/new).
|
to [create an issue](https://github.com/freesewing/freesewing/issues/new).
|
||||||
|
|
||||||
##### Contributor calls
|
|
||||||
|
|
||||||
Recently, we started organizing contributor calls.
|
|
||||||
Anybody with an interest in FreeSewing is welcome to join.
|
|
||||||
|
|
||||||
All calls can be joined via [meet.freesewing.org](https://meet.freesewing.org/).
|
|
||||||
Notes and todos are [available on Github](https://github.com/freesewing/freesewing/issues?q=is%3Aissue+is%3Aopen+label%3Afscc).
|
|
||||||
|
|
||||||
##### We’ve moved to Discord
|
|
||||||
|
|
||||||
We’ve moved our chat rooms from to Discord.
|
|
||||||
Our legacy chat on Gitter is deprecated.
|
|
||||||
|
|
||||||
You can join us at [discord.freesewing.org](https://discord.freesewing.org)
|
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,20 @@
|
||||||
|
##### Subscribe to our newsletter (yes, we have one now)
|
||||||
|
|
||||||
|
We have decided to start a newsletter, so you should subscribe to it.
|
||||||
|
|
||||||
|
- If you have an account on the site, head over to [/account/settings/newsletter](https://freesewing.org/account/settings/newsletter/).
|
||||||
|
|
||||||
|
- If not, you can still subscribe at [/community/newsletter/](https://freesewing.org/community/newsletter/).
|
||||||
|
|
||||||
|
|
||||||
|
##### Next contributor call on 20 March
|
||||||
|
|
||||||
|
The next contributor call is on [20 March 2021](https://github.com/freesewing/freesewing/issues/912).
|
||||||
|
|
||||||
|
All calls can be joined via [meet.freesewing.org](https://meet.freesewing.org/).
|
||||||
|
Notes and todos are [available on Github](https://todo.freesewing.org/).
|
||||||
|
|
||||||
|
|
||||||
##### COVID-19 face mask pattern
|
##### COVID-19 face mask pattern
|
||||||
|
|
||||||
Keep those mask on people, and make sure to make your own so we can
|
Keep those mask on people, and make sure to make your own so we can
|
||||||
|
@ -9,27 +26,3 @@ Our [face mask pattern](/blog/facemask-frenzy) is recommended by
|
||||||
[Make Magazine](https://makezine.com/projects/sew-your-own-face-mask-from-scratch/),
|
[Make Magazine](https://makezine.com/projects/sew-your-own-face-mask-from-scratch/),
|
||||||
and countless of others.
|
and countless of others.
|
||||||
|
|
||||||
|
|
||||||
##### New FreeSewing sub-Reddit and Facebook group
|
|
||||||
|
|
||||||
Some news from the communtity team:
|
|
||||||
|
|
||||||
- Redittors: Head over to [r/freesewing](redditors) for a subreddit by the FreeSewing community.
|
|
||||||
- Facebook people: This [FreeSewing Facebook group](https://www.facebook.com/groups/627769821272714/) is for you.
|
|
||||||
|
|
||||||
Less new but still relevant: We're also on
|
|
||||||
[Discord](https://discord.freesewing.org),
|
|
||||||
[Instagram](https://instagram.com/freesewing_org),
|
|
||||||
[Twitter](https://twitter.com/freesewing_org),
|
|
||||||
and [Github](https://github.com/freesewing),
|
|
||||||
but you knew that, right?
|
|
||||||
|
|
||||||
|
|
||||||
##### No contributor call until 2021
|
|
||||||
|
|
||||||
The contributor call of 26 December is cancelled because of the holiday season.
|
|
||||||
The next contributor call is on 9 January 2021
|
|
||||||
|
|
||||||
All calls can be joined via [meet.freesewing.org](https://meet.freesewing.org/).
|
|
||||||
Notes and todos are [available on Github](https://github.com/freesewing/freesewing/issues?q=is%3Aissue+is%3Aopen+label%3Afscc).
|
|
||||||
|
|
||||||
|
|
55
README.md
55
README.md
|
@ -1,4 +1,4 @@
|
||||||

|

|
||||||
<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"
|
||||||
|
@ -19,6 +19,11 @@
|
||||||
title="Open issues tagged pkg:aaron"
|
title="Open issues tagged pkg:aaron"
|
||||||
><img src="https://img.shields.io/github/issues/freesewing/freesewing.svg?label=Issues"
|
><img src="https://img.shields.io/github/issues/freesewing/freesewing.svg?label=Issues"
|
||||||
alt="Open issues"/>
|
alt="Open issues"/>
|
||||||
|
</a><a
|
||||||
|
href="https://todo.freesewing.org/"
|
||||||
|
title="Project board"
|
||||||
|
><img src="https://img.shields.io/badge/%F3%A0%80%A0-Project%20board-9775fa.svg?logo=github&logoColor=white&logoWidth=15"
|
||||||
|
alt="Todo list/board"/>
|
||||||
</a></p><p align='center'><a
|
</a></p><p align='center'><a
|
||||||
href="https://twitter.com/freesewing_org"
|
href="https://twitter.com/freesewing_org"
|
||||||
title="Follow @freesewing_org on Twitter"
|
title="Follow @freesewing_org on Twitter"
|
||||||
|
@ -43,7 +48,7 @@
|
||||||
|
|
||||||
## What am I looking at? 🤔
|
## What am I looking at? 🤔
|
||||||
|
|
||||||
This repository is our *monorepo* holding [all our NPM packages](https://www.npmjs.com/search?q=keywords:freesewing).
|
This repository is our *monorepo* holding [all our NPM packages](https://freesewing.dev/reference/packages/).
|
||||||
|
|
||||||
## Getting started ⚡
|
## Getting started ⚡
|
||||||
|
|
||||||
|
@ -60,36 +65,45 @@ yarn kickstart
|
||||||
|
|
||||||
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.
|
||||||
|
|
||||||
Our [core library](https://freesewing.dev/) is a *batteries-included* toolbox
|
|
||||||
for parametric design of sewing patterns. It's a modular system (check our list
|
|
||||||
of [plugins](https://freesewing.dev/plugins) and getting started is as simple as:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
npm init freesewing-pattern
|
|
||||||
```
|
|
||||||
|
|
||||||
The [getting started](https://freesewing.dev/guides/getting-started/) section on [freesewing.dev](https://freesewing.dev/) is a good
|
|
||||||
entrypoint to our documentation, but you'll find a lot more there, including
|
|
||||||
our [API reference](https://freesewing.dev/reference/),
|
|
||||||
as well as [our tutorial](https://freesewing.dev/tutorials/pattern-design/),
|
|
||||||
and [best practices](https://freesewing.dev/guides/best-practices/).
|
|
||||||
|
|
||||||
If you're a maker, checkout [freesewing.org](https://freesewing.org/) where you can generate
|
If you're a maker, checkout [freesewing.org](https://freesewing.org/) where you can generate
|
||||||
our sewing patterns adapted to your measurements.
|
our sewing patterns adapted to your measurements.
|
||||||
|
|
||||||
|
If you're a developer, our documentation is on [freesewing.dev](https://freesewing.dev/).
|
||||||
|
Our [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox
|
||||||
|
for parametric design of sewing patterns. But we also provide a range
|
||||||
|
of [plugins](https://freesewing.dev/reference/plugins/) that further extend the
|
||||||
|
functionality of the platform.
|
||||||
|
|
||||||
|
If you have NodeJS installed, you can try it right now by running:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npx create-freesewing-pattern
|
||||||
|
```
|
||||||
|
|
||||||
|
Or, consult our getting started guides
|
||||||
|
for [Linux](https://freesewing.dev/tutorials/getting-started-linux/),
|
||||||
|
[MacOS](https://freesewing.dev/tutorials/getting-started-mac/),
|
||||||
|
or [Windows](https://freesewing.dev/tutorials/getting-started-windows/).
|
||||||
|
|
||||||
|
We also have a [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) that
|
||||||
|
walks you through your first parametric design,
|
||||||
|
and [a friendly community](https://freesewing.org/community/where/) with
|
||||||
|
people who can help you when you get stuck.
|
||||||
|
|
||||||
## Support FreeSewing: Become a patron 🥰
|
## Support FreeSewing: Become a patron 🥰
|
||||||
|
|
||||||
FreeSewing is an open source project run by a community,
|
FreeSewing is an open source project run by a community,
|
||||||
and financially supported by our patrons.
|
and financially supported by our patrons.
|
||||||
|
|
||||||
If you feel what we do is worthwhile, you too
|
If you feel what we do is worthwhile, and you can spend a few coind without
|
||||||
should [become a patron](https://freesewing.org/patrons/join).
|
hardship, then you should [join us and become a patron](https://freesewing.org/community/join).
|
||||||
|
|
||||||
## Links 👩💻
|
## Links 👩💻
|
||||||
|
|
||||||
- 💻 Makers website: [freesewing.org](https://freesewing.org)
|
- 💻 Makers website: [freesewing.org](https://freesewing.org)
|
||||||
- 💻 Developers website: [freesewing.dev](https://freesewing.org)
|
- 💻 Developers website: [freesewing.dev](https://freesewing.dev)
|
||||||
- 💬 Chat: On Discord via [chat.freesewing.org](https://chat.freesewing.org/)
|
- 💬 Chat: On Discord via [chat.freesewing.org](https://chat.freesewing.org/)
|
||||||
|
- ✅ Todo list/Kanban board: On Github via [todo.freesewing.org](https://todo.freesewing.org/)
|
||||||
- 🐦 Twitter: [@freesewing_org](https://twitter.com/freesewing_org)
|
- 🐦 Twitter: [@freesewing_org](https://twitter.com/freesewing_org)
|
||||||
- 📷 Instagram: [@freesewing_org](https://instagram.com/freesewing_org)
|
- 📷 Instagram: [@freesewing_org](https://instagram.com/freesewing_org)
|
||||||
|
|
||||||
|
@ -100,7 +114,8 @@ See [the license file](https://github.com/freesewing/freesewing/blob/develop/LIC
|
||||||
|
|
||||||
## Where to get help 🤯
|
## Where to get help 🤯
|
||||||
|
|
||||||
Our [chatrooms on Discord](https://chat.freesewing.org) are the best place to ask questions,
|
Our [chatrooms on Discord](https://chat.freesewing.org/) are the best place to ask questions,
|
||||||
share your feedback, or just hang out.
|
share your feedback, or just hang out.
|
||||||
|
|
||||||
If you want to report a problem, please [create an issue](https://github.com/freesewing/freesewing/issues/new).
|
If you want to report a problem, please [create an issue](https://github.com/freesewing/freesewing/issues/new).
|
||||||
|
|
||||||
|
|
|
@ -15,6 +15,10 @@ _all:
|
||||||
link: 'https://github.com/freesewing/freesewing/issues?q=is%3Aissue+is%3Aopen+label%3Apkg%3A{{name}}'
|
link: 'https://github.com/freesewing/freesewing/issues?q=is%3Aissue+is%3Aopen+label%3Apkg%3A{{name}}'
|
||||||
img: 'https://img.shields.io/github/issues/freesewing/freesewing/pkg:{{name}}.svg?label=Issues'
|
img: 'https://img.shields.io/github/issues/freesewing/freesewing/pkg:{{name}}.svg?label=Issues'
|
||||||
alt: 'Open issues tagged pkg:{{name}}'
|
alt: 'Open issues tagged pkg:{{name}}'
|
||||||
|
todo:
|
||||||
|
link: 'https://todo.freesewing.org/'
|
||||||
|
img: 'https://img.shields.io/badge/%F3%A0%80%A0-Project%20board-9775fa.svg?logo=github&logoColor=white&logoWidth=15'
|
||||||
|
alt: 'Project board'
|
||||||
_social:
|
_social:
|
||||||
twitter:
|
twitter:
|
||||||
link: 'https://twitter.com/freesewing_org'
|
link: 'https://twitter.com/freesewing_org'
|
||||||
|
|
|
@ -1,3 +1,83 @@
|
||||||
|
2.14.0:
|
||||||
|
date: 2021-03-07
|
||||||
|
Added:
|
||||||
|
cornelius:
|
||||||
|
- Cornelius is a FreeSewing pattern for cycling breeches
|
||||||
|
components:
|
||||||
|
- Added Bella linedrawing
|
||||||
|
- Added Cornelius linedrawing
|
||||||
|
i18n:
|
||||||
|
- Added translations for Cornelius
|
||||||
|
|
||||||
|
Fixed:
|
||||||
|
hugo:
|
||||||
|
- Replaced grainline indicator on pocket with cut-on-fold indicator
|
||||||
|
|
||||||
|
2.13.2:
|
||||||
|
date: 2021-02-21
|
||||||
|
|
||||||
|
Fixed:
|
||||||
|
bella:
|
||||||
|
- Fixed issue with out-of-order execution
|
||||||
|
create-freesewing-pattern:
|
||||||
|
- Updated chat link from gitter to discord
|
||||||
|
paco:
|
||||||
|
- Only add paperless dimensions for pockets if we drafted pockets
|
||||||
|
pattern-info:
|
||||||
|
- Make pattern list alphabetic
|
||||||
|
penelope:
|
||||||
|
- Fixed issue in shape part
|
||||||
|
simone:
|
||||||
|
- Fixed type in bustsidecode finder code
|
||||||
|
titan:
|
||||||
|
- Always ensure point waistIn is created in back part
|
||||||
|
|
||||||
|
2.13.1:
|
||||||
|
date: 2021-02-14
|
||||||
|
|
||||||
|
Added:
|
||||||
|
utils:
|
||||||
|
- Pass pattern handle to tiler
|
||||||
|
|
||||||
|
Fixed:
|
||||||
|
hortensia:
|
||||||
|
- Fix incorrectly named part
|
||||||
|
simon:
|
||||||
|
- Added missing sleeve notch on yoke
|
||||||
|
|
||||||
|
2.13.0:
|
||||||
|
date: 2021-02-13
|
||||||
|
|
||||||
|
Added:
|
||||||
|
components:
|
||||||
|
- Linedrawing for hortensia
|
||||||
|
hortensia:
|
||||||
|
- Initial release of Hortensia, a handbag pattern
|
||||||
|
i18n:
|
||||||
|
- Translation for Hortensia
|
||||||
|
|
||||||
|
Fixed:
|
||||||
|
bella:
|
||||||
|
- Verify whether back dart passes armhole depth
|
||||||
|
breanna:
|
||||||
|
- Try harder to find the intersection point for the scyedart
|
||||||
|
- Define missing y variable in paperless branch
|
||||||
|
bruce:
|
||||||
|
- Added notches to facilitate seam matching
|
||||||
|
components:
|
||||||
|
- Check point attributes are present before using them
|
||||||
|
hugo:
|
||||||
|
- Fix style of the seam allowance paths
|
||||||
|
- Fix sleeve dependencies
|
||||||
|
simone:
|
||||||
|
- Force bust dart intersection if not found initially
|
||||||
|
theo:
|
||||||
|
- Check for intersection returning an array
|
||||||
|
titan:
|
||||||
|
- Always balance the waist
|
||||||
|
wahid:
|
||||||
|
- Make sure roudEnd and roundStart points are always available
|
||||||
|
|
||||||
2.12.1:
|
2.12.1:
|
||||||
date: 2021-01-27
|
date: 2021-01-27
|
||||||
Added:
|
Added:
|
||||||
|
|
|
@ -1,24 +1,24 @@
|
||||||
_types:
|
_types:
|
||||||
pattern:
|
pattern:
|
||||||
peer:
|
peer:
|
||||||
'@freesewing/core': '^{{version}}'
|
'@freesewing/core': &freesewing '^{{version}}'
|
||||||
'@freesewing/plugin-bundle': '^{{version}}'
|
'@freesewing/plugin-bundle': *freesewing
|
||||||
dev:
|
dev:
|
||||||
'react': '^16.13.1'
|
'react': &react '^16.13.1'
|
||||||
'react-dom': '^16.13.1'
|
'react-dom': &react-dom '^16.13.1'
|
||||||
'@babel/plugin-proposal-class-properties': '^7.10.4'
|
'@babel/plugin-proposal-class-properties': '^7.10.4'
|
||||||
'babel-eslint': '^10.1.0'
|
'babel-eslint': '^10.1.0'
|
||||||
'eslint': '^7.6.0'
|
'eslint': '^7.6.0'
|
||||||
'babel-jest': '^26.2.2'
|
'babel-jest': '^26.2.2'
|
||||||
'jest': '26.2.2'
|
'jest': '26.2.2'
|
||||||
'@freesewing/components': '^{{version}}'
|
'@freesewing/components': *freesewing
|
||||||
'@freesewing/css-theme': '^{{version}}'
|
'@freesewing/css-theme': *freesewing
|
||||||
'@freesewing/i18n': '^{{version}}'
|
'@freesewing/i18n': *freesewing
|
||||||
'@freesewing/mui-theme': '^{{version}}'
|
'@freesewing/mui-theme': *freesewing
|
||||||
'@freesewing/plugin-bust': '^{{version}}'
|
'@freesewing/plugin-bust': *freesewing
|
||||||
'@freesewing/plugin-buttons': '^{{version}}'
|
'@freesewing/plugin-buttons': *freesewing
|
||||||
'@freesewing/plugin-flip': '^{{version}}'
|
'@freesewing/plugin-flip': *freesewing
|
||||||
'@freesewing/utils': '^{{version}}'
|
'@freesewing/utils': *freesewing
|
||||||
'@svgr/rollup': '^2.4.1'
|
'@svgr/rollup': '^2.4.1'
|
||||||
'cross-env': '^7.0.2'
|
'cross-env': '^7.0.2'
|
||||||
'react-scripts': '^3.4.1'
|
'react-scripts': '^3.4.1'
|
||||||
|
@ -30,11 +30,11 @@ _types:
|
||||||
'@rollup/plugin-json': '^4.1.0'
|
'@rollup/plugin-json': '^4.1.0'
|
||||||
'@rollup/plugin-node-resolve': '^8.4.0'
|
'@rollup/plugin-node-resolve': '^8.4.0'
|
||||||
'rollup-plugin-peer-deps-external': '^2.2.3'
|
'rollup-plugin-peer-deps-external': '^2.2.3'
|
||||||
'@material-ui/core': '^4.11.0'
|
'@material-ui/core': &matui-core '^4.11.0'
|
||||||
'@material-ui/icons': '4.9.1'
|
'@material-ui/icons': &matui-icons '4.9.1'
|
||||||
'@material-ui/lab': '^v4.0.0-alpha.56'
|
'@material-ui/lab': &matui-lab '^v4.0.0-alpha.56'
|
||||||
'axios': '0.21.1'
|
'axios': &axios '0.21.1'
|
||||||
'react-intl': '^5.4.5'
|
'react-intl': &react-intl '^5.4.5'
|
||||||
'prop-types': '^15.7.2'
|
'prop-types': '^15.7.2'
|
||||||
'mocha': '^8.1.0'
|
'mocha': '^8.1.0'
|
||||||
'chai': '^4.2.0'
|
'chai': '^4.2.0'
|
||||||
|
@ -42,63 +42,63 @@ _types:
|
||||||
'@babel/register': '^7.10.5'
|
'@babel/register': '^7.10.5'
|
||||||
plugin:
|
plugin:
|
||||||
peer:
|
peer:
|
||||||
'@freesewing/core': '^{{version}}'
|
'@freesewing/core': *freesewing
|
||||||
aaron:
|
aaron:
|
||||||
peer:
|
peer:
|
||||||
'@freesewing/brian': '^{{version}}'
|
'@freesewing/brian': *freesewing
|
||||||
bent:
|
bent:
|
||||||
peer:
|
peer:
|
||||||
'@freesewing/brian': '^{{version}}'
|
'@freesewing/brian': *freesewing
|
||||||
breanna:
|
breanna:
|
||||||
peer:
|
peer:
|
||||||
'@freesewing/brian': '^{{version}}'
|
'@freesewing/brian': *freesewing
|
||||||
carlita:
|
carlita:
|
||||||
peer:
|
peer:
|
||||||
'@freesewing/brian': '^{{version}}'
|
'@freesewing/brian': *freesewing
|
||||||
'@freesewing/bent': '^{{version}}'
|
'@freesewing/bent': *freesewing
|
||||||
'@freesewing/carlton': '^{{version}}'
|
'@freesewing/carlton': *freesewing
|
||||||
'@freesewing/plugin-bust': '^{{version}}'
|
'@freesewing/plugin-bust': *freesewing
|
||||||
'@freesewing/plugin-buttons': '^{{version}}'
|
'@freesewing/plugin-buttons': *freesewing
|
||||||
carlton:
|
carlton:
|
||||||
peer:
|
peer:
|
||||||
'@freesewing/brian': '^{{version}}'
|
'@freesewing/brian': *freesewing
|
||||||
'@freesewing/bent': '^{{version}}'
|
'@freesewing/bent': *freesewing
|
||||||
'@freesewing/plugin-buttons': '^{{version}}'
|
'@freesewing/plugin-buttons': *freesewing
|
||||||
css-theme:
|
css-theme:
|
||||||
_:
|
_:
|
||||||
'open-color': '^1.7.0'
|
'open-color': '^1.7.0'
|
||||||
"@fontsource/permanent-marker": "^4.1.0"
|
'@fontsource/permanent-marker': &permanent-marker 'latest'
|
||||||
"@fontsource/roboto-mono": "^4.1.0"
|
'@fontsource/roboto-mono': &roboto-mono 'latest'
|
||||||
"@fontsource/ubuntu": "^4.1.0"
|
'@fontsource/ubuntu': &ubuntu 'latest'
|
||||||
components:
|
components:
|
||||||
peer:
|
peer:
|
||||||
'axios': '^0.21.1'
|
'axios': *axios
|
||||||
'react': '^17.0.1'
|
'react': *react
|
||||||
'@freesewing/pattern-info': '^{{version}}'
|
'@freesewing/pattern-info': *freesewing
|
||||||
'@freesewing/mui-theme': '^{{version}}'
|
'@freesewing/mui-theme': *freesewing
|
||||||
'@freesewing/css-theme': '^{{version}}'
|
'@freesewing/css-theme': *freesewing
|
||||||
'@freesewing/plugin-theme': '^{{version}}'
|
'@freesewing/plugin-theme': *freesewing
|
||||||
'@freesewing/core': '^{{version}}'
|
'@freesewing/core': *freesewing
|
||||||
'@freesewing/models': '^{{version}}'
|
'@freesewing/models': *freesewing
|
||||||
'@freesewing/examples': '^{{version}}'
|
'@freesewing/examples': *freesewing
|
||||||
'@freesewing/rendertest': '^{{version}}'
|
'@freesewing/rendertest': *freesewing
|
||||||
'@freesewing/tutorial': '^{{version}}'
|
'@freesewing/tutorial': *freesewing
|
||||||
"@fontsource/permanent-marker": "latest"
|
'@fontsource/permanent-marker': *permanent-marker
|
||||||
"@fontsource/roboto-mono": "latest"
|
'@fontsource/roboto-mono': *roboto-mono
|
||||||
"@fontsource/ubuntu": "latest"
|
'@fontsource/ubuntu': *ubuntu
|
||||||
'@freesewing/i18n': '^{{version}}'
|
'@freesewing/i18n': *freesewing
|
||||||
'@freesewing/utils': '^{{version}}'
|
'@freesewing/utils': *freesewing
|
||||||
'react-intl': '^5.10.9'
|
'react-intl': *react-intl
|
||||||
'@material-ui/core': '^4.11.2'
|
'@material-ui/core': *matui-core
|
||||||
'@material-ui/icons': '4.11.2'
|
'@material-ui/icons': *matui-icons
|
||||||
'@material-ui/lab': '^v4.0.0-alpha.57'
|
'@material-ui/lab': *matui-lab
|
||||||
'prismjs': '^1.22.0'
|
'prismjs': '^1.22.0'
|
||||||
'react-markdown': '^5.0.3'
|
'react-markdown': '^5.0.3'
|
||||||
'file-saver': '^2.0.5'
|
'file-saver': '^2.0.5'
|
||||||
'yaml': '^1.10.0'
|
'yaml': '^1.10.0'
|
||||||
core:
|
core:
|
||||||
_:
|
_:
|
||||||
'bezier-js': '^3.0.1'
|
'bezier-js': '^4.0.3'
|
||||||
'bin-pack': '^1.0.2'
|
'bin-pack': '^1.0.2'
|
||||||
'hooks': '^0.3.2'
|
'hooks': '^0.3.2'
|
||||||
create-freesewing-pattern:
|
create-freesewing-pattern:
|
||||||
|
@ -109,68 +109,68 @@ create-freesewing-pattern:
|
||||||
'cp-file': '^9.0.0'
|
'cp-file': '^9.0.0'
|
||||||
'execa': '^4.0.3'
|
'execa': '^4.0.3'
|
||||||
'git-config-path': '^2.0.0'
|
'git-config-path': '^2.0.0'
|
||||||
'github-username': '^5.0.1'
|
'github-username': '^6.0.0'
|
||||||
'globby': '^11.0.1'
|
'globby': '^11.0.1'
|
||||||
'handlebars': '^4.7.6'
|
'handlebars': '^4.7.6'
|
||||||
'inquirer': '^7.3.3'
|
'inquirer': '^7.3.3'
|
||||||
'make-dir': '^3.1.0'
|
'make-dir': '^3.1.0'
|
||||||
'normalize-path': '^3.0.0'
|
'normalize-path': '^3.0.0'
|
||||||
'ora': '^4.0.5'
|
'ora': '^5.3.0'
|
||||||
'p-each-series': '^2.1.0'
|
'p-each-series': '^2.1.0'
|
||||||
'parse-git-config': '^3.0.0'
|
'parse-git-config': '^3.0.0'
|
||||||
'validate-npm-package-name': '^3.0.0'
|
'validate-npm-package-name': '^3.0.0'
|
||||||
'which': '^2.0.2'
|
'which': '^2.0.2'
|
||||||
'@freesewing/i18n': '^{{version}}'
|
'@freesewing/i18n': *freesewing
|
||||||
'@freesewing/pattern-info': '^{{version}}'
|
'@freesewing/pattern-info': *freesewing
|
||||||
diana:
|
diana:
|
||||||
peer:
|
peer:
|
||||||
'@freesewing/brian': '^{{version}}'
|
'@freesewing/brian': *freesewing
|
||||||
gatsby-remark-jargon:
|
gatsby-remark-jargon:
|
||||||
_:
|
_:
|
||||||
'remark-jargon': '^{{version}}'
|
'remark-jargon': *freesewing
|
||||||
holmes:
|
holmes:
|
||||||
_:
|
_:
|
||||||
'@freesewing/plugin-gore': '^{{version}}'
|
'@freesewing/plugin-gore': *freesewing
|
||||||
peer:
|
peer:
|
||||||
'@freesewing/plugin-bust': '^{{version}}'
|
'@freesewing/plugin-bust': *freesewing
|
||||||
huey:
|
huey:
|
||||||
peer:
|
peer:
|
||||||
'@freesewing/brian': '^{{version}}'
|
'@freesewing/brian': *freesewing
|
||||||
hugo:
|
hugo:
|
||||||
peer:
|
peer:
|
||||||
'@freesewing/brian': '^{{version}}'
|
'@freesewing/brian': *freesewing
|
||||||
i18n:
|
i18n:
|
||||||
peer:
|
peer:
|
||||||
'@freesewing/pattern-info': '^{{version}}'
|
'@freesewing/pattern-info': *freesewing
|
||||||
jaeger:
|
jaeger:
|
||||||
peer:
|
peer:
|
||||||
'@freesewing/brian': '^{{version}}'
|
'@freesewing/brian': *freesewing
|
||||||
'@freesewing/bent': '^{{version}}'
|
'@freesewing/bent': *freesewing
|
||||||
'@freesewing/plugin-buttons': '^{{version}}'
|
'@freesewing/plugin-buttons': *freesewing
|
||||||
models:
|
models:
|
||||||
peer:
|
peer:
|
||||||
'@freesewing/utils': '^{{version}}'
|
'@freesewing/utils': *freesewing
|
||||||
mui-theme:
|
mui-theme:
|
||||||
peer:
|
peer:
|
||||||
'@material-ui/core': '^4.11.0'
|
'@material-ui/core': *matui-core
|
||||||
'react': '^16.13.1'
|
'react': *react
|
||||||
'react-dom': '^16.13.1'
|
'react-dom': *react-dom
|
||||||
legend:
|
legend:
|
||||||
peer:
|
peer:
|
||||||
'@freesewing/plugin-buttons': '^{{version}}'
|
'@freesewing/plugin-buttons': *freesewing
|
||||||
paco:
|
paco:
|
||||||
peer:
|
peer:
|
||||||
'@freesewing/titan': '^{{version}}'
|
'@freesewing/titan': *freesewing
|
||||||
plugin-bundle:
|
plugin-bundle:
|
||||||
_:
|
_:
|
||||||
'@freesewing/plugin-cutonfold': '^{{version}}'
|
'@freesewing/plugin-cutonfold': *freesewing
|
||||||
'@freesewing/plugin-dimension': '^{{version}}'
|
'@freesewing/plugin-dimension': *freesewing
|
||||||
'@freesewing/plugin-grainline': '^{{version}}'
|
'@freesewing/plugin-grainline': *freesewing
|
||||||
'@freesewing/plugin-logo': '^{{version}}'
|
'@freesewing/plugin-logo': *freesewing
|
||||||
'@freesewing/plugin-title': '^{{version}}'
|
'@freesewing/plugin-title': *freesewing
|
||||||
'@freesewing/plugin-scalebox': '^{{version}}'
|
'@freesewing/plugin-scalebox': *freesewing
|
||||||
'@freesewing/plugin-round': '^{{version}}'
|
'@freesewing/plugin-round': *freesewing
|
||||||
'@freesewing/plugin-sprinkle': '^{{version}}'
|
'@freesewing/plugin-sprinkle': *freesewing
|
||||||
remark-jargon:
|
remark-jargon:
|
||||||
_:
|
_:
|
||||||
'unist-util-visit': '^2.0.3'
|
'unist-util-visit': '^2.0.3'
|
||||||
|
@ -179,29 +179,29 @@ remark-jargon:
|
||||||
'remark-html': '^12.0.0'
|
'remark-html': '^12.0.0'
|
||||||
simon:
|
simon:
|
||||||
peer:
|
peer:
|
||||||
'@freesewing/brian': '^{{version}}'
|
'@freesewing/brian': *freesewing
|
||||||
'@freesewing/plugin-buttons': '^{{version}}'
|
'@freesewing/plugin-buttons': *freesewing
|
||||||
'@freesewing/plugin-flip': '^{{version}}'
|
'@freesewing/plugin-flip': *freesewing
|
||||||
simone:
|
simone:
|
||||||
peer:
|
peer:
|
||||||
'@freesewing/brian': '^{{version}}'
|
'@freesewing/brian': *freesewing
|
||||||
'@freesewing/simon': '^{{version}}'
|
'@freesewing/simon': *freesewing
|
||||||
'@freesewing/plugin-buttons': '^{{version}}'
|
'@freesewing/plugin-buttons': *freesewing
|
||||||
'@freesewing/plugin-flip': '^{{version}}'
|
'@freesewing/plugin-flip': *freesewing
|
||||||
'@freesewing/plugin-bust': '^{{version}}'
|
'@freesewing/plugin-bust': *freesewing
|
||||||
sven:
|
sven:
|
||||||
peer:
|
peer:
|
||||||
'@freesewing/brian': '^{{version}}'
|
'@freesewing/brian': *freesewing
|
||||||
teagan:
|
teagan:
|
||||||
peer:
|
peer:
|
||||||
'@freesewing/brian': '^{{version}}'
|
'@freesewing/brian': *freesewing
|
||||||
'@freesewing/plugin-bust': '^{{version}}'
|
'@freesewing/plugin-bust': *freesewing
|
||||||
utils:
|
utils:
|
||||||
peer:
|
peer:
|
||||||
'tlds': '^1.207.0'
|
'tlds': '^1.207.0'
|
||||||
'axios': '^0.19.2'
|
'axios': *axios
|
||||||
wahid:
|
wahid:
|
||||||
peer:
|
peer:
|
||||||
'@freesewing/brian': '^{{version}}'
|
'@freesewing/brian': *freesewing
|
||||||
'@freesewing/plugin-buttons': '^{{version}}'
|
'@freesewing/plugin-buttons': *freesewing
|
||||||
'@freesewing/plugin-round': '^{{version}}'
|
'@freesewing/plugin-round': *freesewing
|
||||||
|
|
|
@ -12,6 +12,7 @@ cathrin: 'A FreeSewing pattern for a underbust corset / waist trainer'
|
||||||
charlie: 'A FreeSewing pattern for chino trousers'
|
charlie: 'A FreeSewing pattern for chino trousers'
|
||||||
components: 'A collection of React components for FreeSewing web UIs'
|
components: 'A collection of React components for FreeSewing web UIs'
|
||||||
core: 'A library for creating made-to-measure sewing patterns'
|
core: 'A library for creating made-to-measure sewing patterns'
|
||||||
|
cornelius: 'A FreeSewing pattern for cycling breeches, based on the Keystone drafting system'
|
||||||
create-freesewing-pattern: 'Initializer package for FreeSewing patterns: npm init FreeSewing-pattern'
|
create-freesewing-pattern: 'Initializer package for FreeSewing patterns: npm init FreeSewing-pattern'
|
||||||
css-theme: 'A CSS theme for FreeSewing web UIs'
|
css-theme: 'A CSS theme for FreeSewing web UIs'
|
||||||
diana: 'A FreeSewing pattern for a top with a draped neck'
|
diana: 'A FreeSewing pattern for a top with a draped neck'
|
||||||
|
|
|
@ -1,49 +1,62 @@
|
||||||

|

|
||||||
{{{badges}}}
|
{{{badges}}}
|
||||||
|
|
||||||
## What am I looking at? 🤔
|
# {{{fullname}}}
|
||||||
|
|
||||||
This repository is our *monorepo* holding [all our NPM packages](https://www.npmjs.com/search?q=keywords:freesewing).
|
|
||||||
This folder holds **{{{fullname}}}**
|
|
||||||
|
|
||||||
{{description}}
|
{{description}}
|
||||||
|
|
||||||
{{{info}}}
|
{{{info}}}
|
||||||
|
|
||||||
|
## What am I looking at? 🤔
|
||||||
|
|
||||||
|
This repository is our *monorepo*
|
||||||
|
holding [all our NPM packages](https://freesewing.dev/reference/packages/).
|
||||||
|
|
||||||
|
This folder holds: {{{fullname}}}
|
||||||
|
|
||||||
## 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.
|
||||||
|
|
||||||
|
If you're a maker, checkout [freesewing.org](https://freesewing.org/) where you can generate
|
||||||
|
our sewing patterns adapted to your measurements.
|
||||||
|
|
||||||
|
If you're a developer, our documentation is on [freesewing.dev](https://freesewing.dev/).
|
||||||
Our [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox
|
Our [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox
|
||||||
for parametric design of sewing patterns. It's a modular system (check our list
|
for parametric design of sewing patterns. But we also provide a range
|
||||||
of [plugins](https://freesewing.dev/reference/plugins/) and getting started is as simple as:
|
of [plugins](https://freesewing.dev/reference/plugins/) that further extend the
|
||||||
|
functionality of the platform.
|
||||||
|
|
||||||
|
If you have NodeJS installed, you can try it right now by running:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
npm init freesewing-pattern
|
npx create-freesewing-pattern
|
||||||
```
|
```
|
||||||
|
|
||||||
The [getting started](https://freesewing.dev/guides/getting-started/) section on [freesewing.dev](https://freesewing.dev/) is a good
|
Or, consult our getting started guides
|
||||||
entrypoint to our documentation, but you'll find a lot more there, including
|
for [Linux](https://freesewing.dev/tutorials/getting-started-linux/),
|
||||||
our [API reference](https://freesewing.dev/reference/api/),
|
[MacOS](https://freesewing.dev/tutorials/getting-started-mac/),
|
||||||
as well as [our turorial](https://freesewing.dev/tutorials/pattern-design/),
|
or [Windows](https://freesewing.dev/tutorials/getting-started-windows/).
|
||||||
and [howtos](https://freesewing.dev/howtos/).
|
|
||||||
|
|
||||||
If you're a maker, checkout [freesewing.org](https://freesewing/) where you can generate
|
We also have a [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) that
|
||||||
our sewing patterns adapted to your measurements.
|
walks you through your first parametric design,
|
||||||
|
and [a friendly community](https://freesewing.org/community/where/) with
|
||||||
|
people who can help you when you get stuck.
|
||||||
|
|
||||||
## Support FreeSewing: Become a patron 🥰
|
## Support FreeSewing: Become a patron 🥰
|
||||||
|
|
||||||
FreeSewing is an open source project run by a community,
|
FreeSewing is an open source project run by a community,
|
||||||
and financially supported by our patrons.
|
and financially supported by our patrons.
|
||||||
|
|
||||||
If you feel what we do is worthwhile, you too
|
If you feel what we do is worthwhile, and you can spend a few coind without
|
||||||
should [become a patron](https://freesewing.org/patrons/join).
|
hardship, then you should [join us and become a patron](https://freesewing.org/community/join).
|
||||||
|
|
||||||
## Links 👩💻
|
## Links 👩💻
|
||||||
|
|
||||||
- 💻 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)
|
||||||
- 💬 Chat: On Discord via [chat.freesewing.org](https://chat.freesewing.org/)
|
- 💬 Chat: On Discord via [chat.freesewing.org](https://chat.freesewing.org/)
|
||||||
|
- ✅ Todo list/Kanban board: On Github via [todo.freesewing.org](https://todo.freesewing.org/)
|
||||||
- 🐦 Twitter: [@freesewing_org](https://twitter.com/freesewing_org)
|
- 🐦 Twitter: [@freesewing_org](https://twitter.com/freesewing_org)
|
||||||
- 📷 Instagram: [@freesewing_org](https://instagram.com/freesewing_org)
|
- 📷 Instagram: [@freesewing_org](https://instagram.com/freesewing_org)
|
||||||
|
|
||||||
|
|
15
lerna.json
15
lerna.json
|
@ -1,23 +1,16 @@
|
||||||
{
|
{
|
||||||
"version": "2.12.1",
|
"version": "2.14.0",
|
||||||
"npmClient": "yarn",
|
"npmClient": "yarn",
|
||||||
"command": {
|
"command": {
|
||||||
"publish": {
|
"publish": {
|
||||||
"ignoreChanges": [
|
"ignoreChanges": ["ignored-file", "*.md"],
|
||||||
"ignored-file",
|
|
||||||
"*.md"
|
|
||||||
],
|
|
||||||
"message": "release: Publish %s"
|
"message": "release: Publish %s"
|
||||||
},
|
},
|
||||||
"bootstrap": {
|
"bootstrap": {
|
||||||
"ignore": "component-*",
|
"ignore": "component-*",
|
||||||
"npmClientArgs": [
|
"npmClientArgs": ["--no-package-lock"]
|
||||||
"--no-package-lock"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"packages": [
|
"packages": ["packages/*"],
|
||||||
"packages/*"
|
|
||||||
],
|
|
||||||
"useWorkspaces": true
|
"useWorkspaces": true
|
||||||
}
|
}
|
||||||
|
|
14
package.json
14
package.json
|
@ -20,7 +20,7 @@
|
||||||
"test": "echo \"Error: no test specified\" && exit 1",
|
"test": "echo \"Error: no test specified\" && exit 1",
|
||||||
"jsonlint": "yarn --silent jsonlint:files | xargs -n1 jsonlint -q -c && echo \"jsonlint: no lint errors\"",
|
"jsonlint": "yarn --silent jsonlint:files | xargs -n1 jsonlint -q -c && echo \"jsonlint: no lint errors\"",
|
||||||
"jsonlint:files": "find . -name \"*.json\" | grep -v -f .eslintignore",
|
"jsonlint:files": "find . -name \"*.json\" | grep -v -f .eslintignore",
|
||||||
"prettier": "npx prettier --write 'packages/**/src/*.js'",
|
"prettier": "npx prettier --write 'packages/**/src/*.js' 'packages/**/config/*.js' 'packages/**/example/src/*'",
|
||||||
"reconfigure": "npx babel-node scripts/reconfigure.js",
|
"reconfigure": "npx babel-node scripts/reconfigure.js",
|
||||||
"dxf": "npx babel-node scripts/export-dxf.js",
|
"dxf": "npx babel-node scripts/export-dxf.js",
|
||||||
"prerelease": "lerna version --no-git-tag-version --no-push && yarn reconfigure && lerna run build",
|
"prerelease": "lerna version --no-git-tag-version --no-push && yarn reconfigure && lerna run build",
|
||||||
|
@ -63,7 +63,7 @@
|
||||||
"ava": "^3.11.0",
|
"ava": "^3.11.0",
|
||||||
"axios": "0.21.1",
|
"axios": "0.21.1",
|
||||||
"babel-loader": "^8.1.0",
|
"babel-loader": "^8.1.0",
|
||||||
"bezier-js": "^3.0.1",
|
"bezier-js": "^4.0.3",
|
||||||
"chai": "^4.2.0",
|
"chai": "^4.2.0",
|
||||||
"chai-string": "^1.5.0",
|
"chai-string": "^1.5.0",
|
||||||
"chalk": "^4.1.0",
|
"chalk": "^4.1.0",
|
||||||
|
@ -71,7 +71,7 @@
|
||||||
"cross-env": "^7.0.2",
|
"cross-env": "^7.0.2",
|
||||||
"deep-freeze": "^0.0.1",
|
"deep-freeze": "^0.0.1",
|
||||||
"eslint": "^7.6.0",
|
"eslint": "^7.6.0",
|
||||||
"eslint-config-prettier": "^6.11.0",
|
"eslint-config-prettier": "^7.2.0",
|
||||||
"eslint-config-standard": "^15.0.1",
|
"eslint-config-standard": "^15.0.1",
|
||||||
"eslint-config-standard-react": "^10.0.0",
|
"eslint-config-standard-react": "^10.0.0",
|
||||||
"eslint-plugin-import": "^2.22.0",
|
"eslint-plugin-import": "^2.22.0",
|
||||||
|
@ -79,17 +79,17 @@
|
||||||
"eslint-plugin-prettier": "^3.1.4",
|
"eslint-plugin-prettier": "^3.1.4",
|
||||||
"eslint-plugin-promise": "^4.0.0",
|
"eslint-plugin-promise": "^4.0.0",
|
||||||
"eslint-plugin-react": "^7.20.5",
|
"eslint-plugin-react": "^7.20.5",
|
||||||
"eslint-plugin-standard": "^4.0.1",
|
"eslint-plugin-standard": "^5.0.0",
|
||||||
"esm": "^3.2.25",
|
"esm": "^3.2.25",
|
||||||
"file-saver": "^2.0.2",
|
"file-saver": "^2.0.2",
|
||||||
"fs-extra": "^9.0.1",
|
"fs-extra": "^9.0.1",
|
||||||
"husky": "^4.2.5",
|
"husky": "^4.2.5",
|
||||||
"js-yaml": "^3.14.0",
|
"js-yaml": "^4.0.0",
|
||||||
"jsonlint": "^1.6.3",
|
"jsonlint": "^1.6.3",
|
||||||
"lerna": "^3.22.1",
|
"lerna": "^3.22.1",
|
||||||
"mocha": "^8.1.0",
|
"mocha": "^8.1.0",
|
||||||
"mustache": "^4.0.1",
|
"mustache": "^4.0.1",
|
||||||
"node-sass": "^4.14.1",
|
"node-sass": "^5.0.0",
|
||||||
"nyc": "^15.1.0",
|
"nyc": "^15.1.0",
|
||||||
"open-color": "^1.7.0",
|
"open-color": "^1.7.0",
|
||||||
"prettier": "^2.0.5",
|
"prettier": "^2.0.5",
|
||||||
|
@ -109,7 +109,7 @@
|
||||||
"rollup-plugin-sass": "^1.2.2",
|
"rollup-plugin-sass": "^1.2.2",
|
||||||
"rollup-plugin-terser": "^7.0.0",
|
"rollup-plugin-terser": "^7.0.0",
|
||||||
"rollup-plugin-yaml": "^2.0.0",
|
"rollup-plugin-yaml": "^2.0.0",
|
||||||
"standard": "^15.0.0",
|
"standard": "^16.0.3",
|
||||||
"tlds": "^1.207.0",
|
"tlds": "^1.207.0",
|
||||||
"typeface-raleway": "^1.1.13",
|
"typeface-raleway": "^1.1.13",
|
||||||
"typeface-roboto-condensed": "^1.1.13",
|
"typeface-roboto-condensed": "^1.1.13",
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||

|

|
||||||
<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"
|
||||||
|
@ -19,6 +19,11 @@
|
||||||
title="Open issues tagged pkg:aaron"
|
title="Open issues tagged pkg:aaron"
|
||||||
><img src="https://img.shields.io/github/issues/freesewing/freesewing/pkg:aaron.svg?label=Issues"
|
><img src="https://img.shields.io/github/issues/freesewing/freesewing/pkg:aaron.svg?label=Issues"
|
||||||
alt="Open issues tagged pkg:aaron"/>
|
alt="Open issues tagged pkg:aaron"/>
|
||||||
|
</a><a
|
||||||
|
href="https://todo.freesewing.org/"
|
||||||
|
title="Project board"
|
||||||
|
><img src="https://img.shields.io/badge/%F3%A0%80%A0-Project%20board-9775fa.svg?logo=github&logoColor=white&logoWidth=15"
|
||||||
|
alt="Project board"/>
|
||||||
</a></p><p align='center'><a
|
</a></p><p align='center'><a
|
||||||
href="https://twitter.com/freesewing_org"
|
href="https://twitter.com/freesewing_org"
|
||||||
title="Follow @freesewing_org on Twitter"
|
title="Follow @freesewing_org on Twitter"
|
||||||
|
@ -41,49 +46,62 @@
|
||||||
alt="Follow @freesewing_org on Twitter"/>
|
alt="Follow @freesewing_org on Twitter"/>
|
||||||
</a></p>
|
</a></p>
|
||||||
|
|
||||||
## What am I looking at? 🤔
|
# @freesewing/aaron
|
||||||
|
|
||||||
This repository is our *monorepo* holding [all our NPM packages](https://www.npmjs.com/search?q=keywords:freesewing).
|
|
||||||
This folder holds **@freesewing/aaron**
|
|
||||||
|
|
||||||
A FreeSewing pattern for a A-shirt or tank top
|
A FreeSewing pattern for a A-shirt or tank top
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## What am I looking at? 🤔
|
||||||
|
|
||||||
|
This repository is our *monorepo*
|
||||||
|
holding [all our NPM packages](https://freesewing.dev/reference/packages/).
|
||||||
|
|
||||||
|
This folder holds: @freesewing/aaron
|
||||||
|
|
||||||
## 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.
|
||||||
|
|
||||||
|
If you're a maker, checkout [freesewing.org](https://freesewing.org/) where you can generate
|
||||||
|
our sewing patterns adapted to your measurements.
|
||||||
|
|
||||||
|
If you're a developer, our documentation is on [freesewing.dev](https://freesewing.dev/).
|
||||||
Our [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox
|
Our [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox
|
||||||
for parametric design of sewing patterns. It's a modular system (check our list
|
for parametric design of sewing patterns. But we also provide a range
|
||||||
of [plugins](https://freesewing.dev/reference/plugins/) and getting started is as simple as:
|
of [plugins](https://freesewing.dev/reference/plugins/) that further extend the
|
||||||
|
functionality of the platform.
|
||||||
|
|
||||||
|
If you have NodeJS installed, you can try it right now by running:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
npm init freesewing-pattern
|
npx create-freesewing-pattern
|
||||||
```
|
```
|
||||||
|
|
||||||
The [getting started](https://freesewing.dev/guides/getting-started/) section on [freesewing.dev](https://freesewing.dev/) is a good
|
Or, consult our getting started guides
|
||||||
entrypoint to our documentation, but you'll find a lot more there, including
|
for [Linux](https://freesewing.dev/tutorials/getting-started-linux/),
|
||||||
our [API reference](https://freesewing.dev/reference/api/),
|
[MacOS](https://freesewing.dev/tutorials/getting-started-mac/),
|
||||||
as well as [our turorial](https://freesewing.dev/tutorials/pattern-design/),
|
or [Windows](https://freesewing.dev/tutorials/getting-started-windows/).
|
||||||
and [howtos](https://freesewing.dev/howtos/).
|
|
||||||
|
|
||||||
If you're a maker, checkout [freesewing.org](https://freesewing/) where you can generate
|
We also have a [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) that
|
||||||
our sewing patterns adapted to your measurements.
|
walks you through your first parametric design,
|
||||||
|
and [a friendly community](https://freesewing.org/community/where/) with
|
||||||
|
people who can help you when you get stuck.
|
||||||
|
|
||||||
## Support FreeSewing: Become a patron 🥰
|
## Support FreeSewing: Become a patron 🥰
|
||||||
|
|
||||||
FreeSewing is an open source project run by a community,
|
FreeSewing is an open source project run by a community,
|
||||||
and financially supported by our patrons.
|
and financially supported by our patrons.
|
||||||
|
|
||||||
If you feel what we do is worthwhile, you too
|
If you feel what we do is worthwhile, and you can spend a few coind without
|
||||||
should [become a patron](https://freesewing.org/patrons/join).
|
hardship, then you should [join us and become a patron](https://freesewing.org/community/join).
|
||||||
|
|
||||||
## Links 👩💻
|
## Links 👩💻
|
||||||
|
|
||||||
- 💻 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)
|
||||||
- 💬 Chat: On Discord via [chat.freesewing.org](https://chat.freesewing.org/)
|
- 💬 Chat: On Discord via [chat.freesewing.org](https://chat.freesewing.org/)
|
||||||
|
- ✅ Todo list/Kanban board: On Github via [todo.freesewing.org](https://todo.freesewing.org/)
|
||||||
- 🐦 Twitter: [@freesewing_org](https://twitter.com/freesewing_org)
|
- 🐦 Twitter: [@freesewing_org](https://twitter.com/freesewing_org)
|
||||||
- 📷 Instagram: [@freesewing_org](https://instagram.com/freesewing_org)
|
- 📷 Instagram: [@freesewing_org](https://instagram.com/freesewing_org)
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@ import React from 'react'
|
||||||
import ReactDOM from 'react-dom'
|
import ReactDOM from 'react-dom'
|
||||||
import App from './App'
|
import App from './App'
|
||||||
import * as serviceWorker from './serviceWorker'
|
import * as serviceWorker from './serviceWorker'
|
||||||
|
import './layout.css'
|
||||||
|
|
||||||
ReactDOM.render(<App />, document.getElementById('root'))
|
ReactDOM.render(<App />, document.getElementById('root'))
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@freesewing/aaron",
|
"name": "@freesewing/aaron",
|
||||||
"version": "2.12.1",
|
"version": "2.14.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@decock.org> (https://github.com/joostdecock)",
|
"author": "Joost De Cock <joost@decock.org> (https://github.com/joostdecock)",
|
||||||
"homepage": "https://freesewing.org/",
|
"homepage": "https://freesewing.org/",
|
||||||
|
@ -34,9 +34,9 @@
|
||||||
"testci": "BABEL_ENV=production ./node_modules/.bin/_mocha tests/*.test.js --require @babel/register"
|
"testci": "BABEL_ENV=production ./node_modules/.bin/_mocha tests/*.test.js --require @babel/register"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@freesewing/core": "^2.12.1",
|
"@freesewing/core": "^2.14.0",
|
||||||
"@freesewing/plugin-bundle": "^2.12.1",
|
"@freesewing/plugin-bundle": "^2.14.0",
|
||||||
"@freesewing/brian": "^2.12.1"
|
"@freesewing/brian": "^2.14.0"
|
||||||
},
|
},
|
||||||
"dependencies": {},
|
"dependencies": {},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
@ -47,14 +47,14 @@
|
||||||
"eslint": "^7.6.0",
|
"eslint": "^7.6.0",
|
||||||
"babel-jest": "^26.2.2",
|
"babel-jest": "^26.2.2",
|
||||||
"jest": "26.2.2",
|
"jest": "26.2.2",
|
||||||
"@freesewing/components": "^2.12.1",
|
"@freesewing/components": "^2.14.0",
|
||||||
"@freesewing/css-theme": "^2.12.1",
|
"@freesewing/css-theme": "^2.14.0",
|
||||||
"@freesewing/i18n": "^2.12.1",
|
"@freesewing/i18n": "^2.14.0",
|
||||||
"@freesewing/mui-theme": "^2.12.1",
|
"@freesewing/mui-theme": "^2.14.0",
|
||||||
"@freesewing/plugin-bust": "^2.12.1",
|
"@freesewing/plugin-bust": "^2.14.0",
|
||||||
"@freesewing/plugin-buttons": "^2.12.1",
|
"@freesewing/plugin-buttons": "^2.14.0",
|
||||||
"@freesewing/plugin-flip": "^2.12.1",
|
"@freesewing/plugin-flip": "^2.14.0",
|
||||||
"@freesewing/utils": "^2.12.1",
|
"@freesewing/utils": "^2.14.0",
|
||||||
"@svgr/rollup": "^2.4.1",
|
"@svgr/rollup": "^2.4.1",
|
||||||
"cross-env": "^7.0.2",
|
"cross-env": "^7.0.2",
|
||||||
"react-scripts": "^3.4.1",
|
"react-scripts": "^3.4.1",
|
||||||
|
|
|
@ -10,11 +10,11 @@ import draftFront from './front'
|
||||||
const Pattern = new freesewing.Design(config, plugins)
|
const Pattern = new freesewing.Design(config, plugins)
|
||||||
|
|
||||||
// Attach draft methods to prototype
|
// Attach draft methods to prototype
|
||||||
Pattern.prototype.draftBase = function(part) {
|
Pattern.prototype.draftBase = function (part) {
|
||||||
// Getting the base part from Brian
|
// Getting the base part from Brian
|
||||||
return new Brian(this.settings).draftBase(part)
|
return new Brian(this.settings).draftBase(part)
|
||||||
}
|
}
|
||||||
Pattern.prototype.draftFront = part => draftFront(part)
|
Pattern.prototype.draftFront = (part) => draftFront(part)
|
||||||
Pattern.prototype.draftBack = part => draftBack(part)
|
Pattern.prototype.draftBack = (part) => draftBack(part)
|
||||||
|
|
||||||
export default Pattern
|
export default Pattern
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||

|

|
||||||
<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"
|
||||||
|
@ -19,6 +19,11 @@
|
||||||
title="Open issues tagged pkg:albert"
|
title="Open issues tagged pkg:albert"
|
||||||
><img src="https://img.shields.io/github/issues/freesewing/freesewing/pkg:albert.svg?label=Issues"
|
><img src="https://img.shields.io/github/issues/freesewing/freesewing/pkg:albert.svg?label=Issues"
|
||||||
alt="Open issues tagged pkg:albert"/>
|
alt="Open issues tagged pkg:albert"/>
|
||||||
|
</a><a
|
||||||
|
href="https://todo.freesewing.org/"
|
||||||
|
title="Project board"
|
||||||
|
><img src="https://img.shields.io/badge/%F3%A0%80%A0-Project%20board-9775fa.svg?logo=github&logoColor=white&logoWidth=15"
|
||||||
|
alt="Project board"/>
|
||||||
</a></p><p align='center'><a
|
</a></p><p align='center'><a
|
||||||
href="https://twitter.com/freesewing_org"
|
href="https://twitter.com/freesewing_org"
|
||||||
title="Follow @freesewing_org on Twitter"
|
title="Follow @freesewing_org on Twitter"
|
||||||
|
@ -41,49 +46,62 @@
|
||||||
alt="Follow @freesewing_org on Twitter"/>
|
alt="Follow @freesewing_org on Twitter"/>
|
||||||
</a></p>
|
</a></p>
|
||||||
|
|
||||||
## What am I looking at? 🤔
|
# @freesewing/albert
|
||||||
|
|
||||||
This repository is our *monorepo* holding [all our NPM packages](https://www.npmjs.com/search?q=keywords:freesewing).
|
|
||||||
This folder holds **@freesewing/albert**
|
|
||||||
|
|
||||||
A FreeSewing pattern for an apron
|
A FreeSewing pattern for an apron
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## What am I looking at? 🤔
|
||||||
|
|
||||||
|
This repository is our *monorepo*
|
||||||
|
holding [all our NPM packages](https://freesewing.dev/reference/packages/).
|
||||||
|
|
||||||
|
This folder holds: @freesewing/albert
|
||||||
|
|
||||||
## 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.
|
||||||
|
|
||||||
|
If you're a maker, checkout [freesewing.org](https://freesewing.org/) where you can generate
|
||||||
|
our sewing patterns adapted to your measurements.
|
||||||
|
|
||||||
|
If you're a developer, our documentation is on [freesewing.dev](https://freesewing.dev/).
|
||||||
Our [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox
|
Our [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox
|
||||||
for parametric design of sewing patterns. It's a modular system (check our list
|
for parametric design of sewing patterns. But we also provide a range
|
||||||
of [plugins](https://freesewing.dev/reference/plugins/) and getting started is as simple as:
|
of [plugins](https://freesewing.dev/reference/plugins/) that further extend the
|
||||||
|
functionality of the platform.
|
||||||
|
|
||||||
|
If you have NodeJS installed, you can try it right now by running:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
npm init freesewing-pattern
|
npx create-freesewing-pattern
|
||||||
```
|
```
|
||||||
|
|
||||||
The [getting started](https://freesewing.dev/guides/getting-started/) section on [freesewing.dev](https://freesewing.dev/) is a good
|
Or, consult our getting started guides
|
||||||
entrypoint to our documentation, but you'll find a lot more there, including
|
for [Linux](https://freesewing.dev/tutorials/getting-started-linux/),
|
||||||
our [API reference](https://freesewing.dev/reference/api/),
|
[MacOS](https://freesewing.dev/tutorials/getting-started-mac/),
|
||||||
as well as [our turorial](https://freesewing.dev/tutorials/pattern-design/),
|
or [Windows](https://freesewing.dev/tutorials/getting-started-windows/).
|
||||||
and [howtos](https://freesewing.dev/howtos/).
|
|
||||||
|
|
||||||
If you're a maker, checkout [freesewing.org](https://freesewing/) where you can generate
|
We also have a [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) that
|
||||||
our sewing patterns adapted to your measurements.
|
walks you through your first parametric design,
|
||||||
|
and [a friendly community](https://freesewing.org/community/where/) with
|
||||||
|
people who can help you when you get stuck.
|
||||||
|
|
||||||
## Support FreeSewing: Become a patron 🥰
|
## Support FreeSewing: Become a patron 🥰
|
||||||
|
|
||||||
FreeSewing is an open source project run by a community,
|
FreeSewing is an open source project run by a community,
|
||||||
and financially supported by our patrons.
|
and financially supported by our patrons.
|
||||||
|
|
||||||
If you feel what we do is worthwhile, you too
|
If you feel what we do is worthwhile, and you can spend a few coind without
|
||||||
should [become a patron](https://freesewing.org/patrons/join).
|
hardship, then you should [join us and become a patron](https://freesewing.org/community/join).
|
||||||
|
|
||||||
## Links 👩💻
|
## Links 👩💻
|
||||||
|
|
||||||
- 💻 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)
|
||||||
- 💬 Chat: On Discord via [chat.freesewing.org](https://chat.freesewing.org/)
|
- 💬 Chat: On Discord via [chat.freesewing.org](https://chat.freesewing.org/)
|
||||||
|
- ✅ Todo list/Kanban board: On Github via [todo.freesewing.org](https://todo.freesewing.org/)
|
||||||
- 🐦 Twitter: [@freesewing_org](https://twitter.com/freesewing_org)
|
- 🐦 Twitter: [@freesewing_org](https://twitter.com/freesewing_org)
|
||||||
- 📷 Instagram: [@freesewing_org](https://instagram.com/freesewing_org)
|
- 📷 Instagram: [@freesewing_org](https://instagram.com/freesewing_org)
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@ import React from 'react'
|
||||||
import ReactDOM from 'react-dom'
|
import ReactDOM from 'react-dom'
|
||||||
import App from './App'
|
import App from './App'
|
||||||
import * as serviceWorker from './serviceWorker'
|
import * as serviceWorker from './serviceWorker'
|
||||||
|
import './layout.css'
|
||||||
|
|
||||||
ReactDOM.render(<App />, document.getElementById('root'))
|
ReactDOM.render(<App />, document.getElementById('root'))
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@freesewing/albert",
|
"name": "@freesewing/albert",
|
||||||
"version": "2.12.1",
|
"version": "2.14.0",
|
||||||
"description": "A FreeSewing pattern for an apron",
|
"description": "A FreeSewing pattern for an apron",
|
||||||
"author": "Joost De Cock <joost@decock.org> (https://github.com/joostdecock)",
|
"author": "Joost De Cock <joost@decock.org> (https://github.com/joostdecock)",
|
||||||
"homepage": "https://freesewing.org/",
|
"homepage": "https://freesewing.org/",
|
||||||
|
@ -34,8 +34,8 @@
|
||||||
"testci": "BABEL_ENV=production ./node_modules/.bin/_mocha tests/*.test.js --require @babel/register"
|
"testci": "BABEL_ENV=production ./node_modules/.bin/_mocha tests/*.test.js --require @babel/register"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@freesewing/core": "^2.12.1",
|
"@freesewing/core": "^2.14.0",
|
||||||
"@freesewing/plugin-bundle": "^2.12.1"
|
"@freesewing/plugin-bundle": "^2.14.0"
|
||||||
},
|
},
|
||||||
"dependencies": {},
|
"dependencies": {},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
@ -46,14 +46,14 @@
|
||||||
"eslint": "^7.6.0",
|
"eslint": "^7.6.0",
|
||||||
"babel-jest": "^26.2.2",
|
"babel-jest": "^26.2.2",
|
||||||
"jest": "26.2.2",
|
"jest": "26.2.2",
|
||||||
"@freesewing/components": "^2.12.1",
|
"@freesewing/components": "^2.14.0",
|
||||||
"@freesewing/css-theme": "^2.12.1",
|
"@freesewing/css-theme": "^2.14.0",
|
||||||
"@freesewing/i18n": "^2.12.1",
|
"@freesewing/i18n": "^2.14.0",
|
||||||
"@freesewing/mui-theme": "^2.12.1",
|
"@freesewing/mui-theme": "^2.14.0",
|
||||||
"@freesewing/plugin-bust": "^2.12.1",
|
"@freesewing/plugin-bust": "^2.14.0",
|
||||||
"@freesewing/plugin-buttons": "^2.12.1",
|
"@freesewing/plugin-buttons": "^2.14.0",
|
||||||
"@freesewing/plugin-flip": "^2.12.1",
|
"@freesewing/plugin-flip": "^2.14.0",
|
||||||
"@freesewing/utils": "^2.12.1",
|
"@freesewing/utils": "^2.14.0",
|
||||||
"@svgr/rollup": "^2.4.1",
|
"@svgr/rollup": "^2.4.1",
|
||||||
"cross-env": "^7.0.2",
|
"cross-env": "^7.0.2",
|
||||||
"react-scripts": "^3.4.1",
|
"react-scripts": "^3.4.1",
|
||||||
|
|
|
@ -1,6 +1,18 @@
|
||||||
# Change log for: @freesewing/bella
|
# Change log for: @freesewing/bella
|
||||||
|
|
||||||
|
|
||||||
|
## 2.13.2 (2021-02-21)
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Fixed issue with out-of-order execution
|
||||||
|
|
||||||
|
## 2.13.0 (2021-02-13)
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Verify whether back dart passes armhole depth
|
||||||
|
|
||||||
## 2.12.0 (2021-01-19)
|
## 2.12.0 (2021-01-19)
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||

|

|
||||||
<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"
|
||||||
|
@ -19,6 +19,11 @@
|
||||||
title="Open issues tagged pkg:bella"
|
title="Open issues tagged pkg:bella"
|
||||||
><img src="https://img.shields.io/github/issues/freesewing/freesewing/pkg:bella.svg?label=Issues"
|
><img src="https://img.shields.io/github/issues/freesewing/freesewing/pkg:bella.svg?label=Issues"
|
||||||
alt="Open issues tagged pkg:bella"/>
|
alt="Open issues tagged pkg:bella"/>
|
||||||
|
</a><a
|
||||||
|
href="https://todo.freesewing.org/"
|
||||||
|
title="Project board"
|
||||||
|
><img src="https://img.shields.io/badge/%F3%A0%80%A0-Project%20board-9775fa.svg?logo=github&logoColor=white&logoWidth=15"
|
||||||
|
alt="Project board"/>
|
||||||
</a></p><p align='center'><a
|
</a></p><p align='center'><a
|
||||||
href="https://twitter.com/freesewing_org"
|
href="https://twitter.com/freesewing_org"
|
||||||
title="Follow @freesewing_org on Twitter"
|
title="Follow @freesewing_org on Twitter"
|
||||||
|
@ -41,49 +46,62 @@
|
||||||
alt="Follow @freesewing_org on Twitter"/>
|
alt="Follow @freesewing_org on Twitter"/>
|
||||||
</a></p>
|
</a></p>
|
||||||
|
|
||||||
## What am I looking at? 🤔
|
# @freesewing/bella
|
||||||
|
|
||||||
This repository is our *monorepo* holding [all our NPM packages](https://www.npmjs.com/search?q=keywords:freesewing).
|
|
||||||
This folder holds **@freesewing/bella**
|
|
||||||
|
|
||||||
A FreeSewing pattern for a womenswear bodice block
|
A FreeSewing pattern for a womenswear bodice block
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## What am I looking at? 🤔
|
||||||
|
|
||||||
|
This repository is our *monorepo*
|
||||||
|
holding [all our NPM packages](https://freesewing.dev/reference/packages/).
|
||||||
|
|
||||||
|
This folder holds: @freesewing/bella
|
||||||
|
|
||||||
## 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.
|
||||||
|
|
||||||
|
If you're a maker, checkout [freesewing.org](https://freesewing.org/) where you can generate
|
||||||
|
our sewing patterns adapted to your measurements.
|
||||||
|
|
||||||
|
If you're a developer, our documentation is on [freesewing.dev](https://freesewing.dev/).
|
||||||
Our [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox
|
Our [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox
|
||||||
for parametric design of sewing patterns. It's a modular system (check our list
|
for parametric design of sewing patterns. But we also provide a range
|
||||||
of [plugins](https://freesewing.dev/reference/plugins/) and getting started is as simple as:
|
of [plugins](https://freesewing.dev/reference/plugins/) that further extend the
|
||||||
|
functionality of the platform.
|
||||||
|
|
||||||
|
If you have NodeJS installed, you can try it right now by running:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
npm init freesewing-pattern
|
npx create-freesewing-pattern
|
||||||
```
|
```
|
||||||
|
|
||||||
The [getting started](https://freesewing.dev/guides/getting-started/) section on [freesewing.dev](https://freesewing.dev/) is a good
|
Or, consult our getting started guides
|
||||||
entrypoint to our documentation, but you'll find a lot more there, including
|
for [Linux](https://freesewing.dev/tutorials/getting-started-linux/),
|
||||||
our [API reference](https://freesewing.dev/reference/api/),
|
[MacOS](https://freesewing.dev/tutorials/getting-started-mac/),
|
||||||
as well as [our turorial](https://freesewing.dev/tutorials/pattern-design/),
|
or [Windows](https://freesewing.dev/tutorials/getting-started-windows/).
|
||||||
and [howtos](https://freesewing.dev/howtos/).
|
|
||||||
|
|
||||||
If you're a maker, checkout [freesewing.org](https://freesewing/) where you can generate
|
We also have a [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) that
|
||||||
our sewing patterns adapted to your measurements.
|
walks you through your first parametric design,
|
||||||
|
and [a friendly community](https://freesewing.org/community/where/) with
|
||||||
|
people who can help you when you get stuck.
|
||||||
|
|
||||||
## Support FreeSewing: Become a patron 🥰
|
## Support FreeSewing: Become a patron 🥰
|
||||||
|
|
||||||
FreeSewing is an open source project run by a community,
|
FreeSewing is an open source project run by a community,
|
||||||
and financially supported by our patrons.
|
and financially supported by our patrons.
|
||||||
|
|
||||||
If you feel what we do is worthwhile, you too
|
If you feel what we do is worthwhile, and you can spend a few coind without
|
||||||
should [become a patron](https://freesewing.org/patrons/join).
|
hardship, then you should [join us and become a patron](https://freesewing.org/community/join).
|
||||||
|
|
||||||
## Links 👩💻
|
## Links 👩💻
|
||||||
|
|
||||||
- 💻 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)
|
||||||
- 💬 Chat: On Discord via [chat.freesewing.org](https://chat.freesewing.org/)
|
- 💬 Chat: On Discord via [chat.freesewing.org](https://chat.freesewing.org/)
|
||||||
|
- ✅ Todo list/Kanban board: On Github via [todo.freesewing.org](https://todo.freesewing.org/)
|
||||||
- 🐦 Twitter: [@freesewing_org](https://twitter.com/freesewing_org)
|
- 🐦 Twitter: [@freesewing_org](https://twitter.com/freesewing_org)
|
||||||
- 📷 Instagram: [@freesewing_org](https://instagram.com/freesewing_org)
|
- 📷 Instagram: [@freesewing_org](https://instagram.com/freesewing_org)
|
||||||
|
|
||||||
|
|
|
@ -10,30 +10,16 @@ export default {
|
||||||
difficulty: 3,
|
difficulty: 3,
|
||||||
tags: ['block', 'top', 'basics'],
|
tags: ['block', 'top', 'basics'],
|
||||||
optionGroups: {
|
optionGroups: {
|
||||||
fit: [
|
fit: ['chestEase', 'waistEase', 'bustSpanEase'],
|
||||||
'chestEase',
|
darts: ['backDartHeight', 'bustDartLength', 'waistDartLength', 'bustDartCurve'],
|
||||||
'waistEase',
|
|
||||||
'bustSpanEase'
|
|
||||||
],
|
|
||||||
darts: [
|
|
||||||
'backDartHeight',
|
|
||||||
'bustDartLength',
|
|
||||||
'waistDartLength',
|
|
||||||
'bustDartCurve'
|
|
||||||
],
|
|
||||||
armhole: [
|
armhole: [
|
||||||
'armholeDepth',
|
'armholeDepth',
|
||||||
'backArmholeSlant',
|
'backArmholeSlant',
|
||||||
'backArmholeCurvature',
|
'backArmholeCurvature',
|
||||||
'frontArmholePitchDepth',
|
'frontArmholePitchDepth',
|
||||||
'backArmholePitchDepth',
|
'backArmholePitchDepth'
|
||||||
],
|
],
|
||||||
advanced: [
|
advanced: ['backNeckCutout', 'backHemSlope', 'frontShoulderWidth', 'highBustWidth']
|
||||||
'backNeckCutout',
|
|
||||||
'backHemSlope',
|
|
||||||
'frontShoulderWidth',
|
|
||||||
'highBustWidth',
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
measurements: [
|
measurements: [
|
||||||
'highBust',
|
'highBust',
|
||||||
|
@ -89,6 +75,6 @@ export default {
|
||||||
highBustWidth: { pct: 86, max: 92, min: 80 },
|
highBustWidth: { pct: 86, max: 92, min: 80 },
|
||||||
bustDartLength: { pct: 90, min: 75, max: 100 },
|
bustDartLength: { pct: 90, min: 75, max: 100 },
|
||||||
waistDartLength: { pct: 90, min: 75, max: 95 },
|
waistDartLength: { pct: 90, min: 75, max: 95 },
|
||||||
bustDartCurve: { pct: 100, min: 0, max: 100 },
|
bustDartCurve: { pct: 100, min: 0, max: 100 }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,7 @@ import React from 'react'
|
||||||
import ReactDOM from 'react-dom'
|
import ReactDOM from 'react-dom'
|
||||||
import App from './App'
|
import App from './App'
|
||||||
import * as serviceWorker from './serviceWorker'
|
import * as serviceWorker from './serviceWorker'
|
||||||
|
import './layout.css'
|
||||||
|
|
||||||
ReactDOM.render(<App />, document.getElementById('root'))
|
ReactDOM.render(<App />, document.getElementById('root'))
|
||||||
|
|
||||||
|
|
235
packages/bella/example/src/layout.css
Normal file
235
packages/bella/example/src/layout.css
Normal file
|
@ -0,0 +1,235 @@
|
||||||
|
div.layout-wrapper {
|
||||||
|
width: 100%;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
background-color: red;
|
||||||
|
background: #f8f9fa;
|
||||||
|
background: linear-gradient(90deg, #f1f3f5 0%, #f1f3f5 25%, #f8f9fa 26%, #f8f9fa 100%); }
|
||||||
|
div.layout-wrapper div.layout {
|
||||||
|
display: flex;
|
||||||
|
max-width: 1600px;
|
||||||
|
margin: auto;
|
||||||
|
padding: 0;
|
||||||
|
flex-direction: row;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
justify-content: space-between;
|
||||||
|
background-color: #f8f9fa;
|
||||||
|
min-height: calc(100vh - 64px); }
|
||||||
|
div.layout-wrapper div.layout > aside {
|
||||||
|
width: 33%;
|
||||||
|
background: #f1f3f5;
|
||||||
|
border-right: 2px solid #dee2e6; }
|
||||||
|
div.layout-wrapper div.layout > section {
|
||||||
|
margin: 0;
|
||||||
|
padding: 1rem; }
|
||||||
|
div.layout-wrapper div.layout > section > div.content {
|
||||||
|
max-width: 66ch;
|
||||||
|
min-width: 340px; }
|
||||||
|
div.layout-wrapper div.layout > section > div.content.wide {
|
||||||
|
max-width: 100%;
|
||||||
|
margin: auto; }
|
||||||
|
|
||||||
|
.theme-wrapper.dark header {
|
||||||
|
background-color: #1a1d21; }
|
||||||
|
|
||||||
|
.theme-wrapper.dark div.layout-wrapper {
|
||||||
|
background: #f8f9fa;
|
||||||
|
background: linear-gradient(90deg, #1a1d21 0%, #1a1d21 25%, #212529 26%, #212529 100%); }
|
||||||
|
.theme-wrapper.dark div.layout-wrapper div.layout {
|
||||||
|
background-color: #212529; }
|
||||||
|
.theme-wrapper.dark div.layout-wrapper div.layout > aside {
|
||||||
|
background-color: #1a1d21;
|
||||||
|
border-right: 2px solid #343a40; }
|
||||||
|
|
||||||
|
header a svg {
|
||||||
|
color: #ced4da; }
|
||||||
|
|
||||||
|
header a:first-of-type svg {
|
||||||
|
color: #f8f9fa; }
|
||||||
|
|
||||||
|
header a:hover svg {
|
||||||
|
color: #b197fc; }
|
||||||
|
|
||||||
|
header a span,
|
||||||
|
header button span {
|
||||||
|
color: #ced4da; }
|
||||||
|
header a span svg,
|
||||||
|
header button span svg {
|
||||||
|
color: #dee2e6; }
|
||||||
|
|
||||||
|
header a:hover span,
|
||||||
|
header button:hover span {
|
||||||
|
color: #f8f9fa; }
|
||||||
|
header a:hover span svg,
|
||||||
|
header button:hover span svg {
|
||||||
|
color: #b197fc; }
|
||||||
|
|
||||||
|
header a,
|
||||||
|
header button {
|
||||||
|
padding: 0 1vw !important; }
|
||||||
|
|
||||||
|
/* monitor */
|
||||||
|
@media (min-width: 1200px) {
|
||||||
|
div.layout > section {
|
||||||
|
width: 63%; } }
|
||||||
|
|
||||||
|
/* slate */
|
||||||
|
@media (max-width: 1199px) and (min-width: 960px) {
|
||||||
|
div.layout > aside {
|
||||||
|
width: 298px; }
|
||||||
|
div.layout > section {
|
||||||
|
width: calc(100% - 300px - 4rem);
|
||||||
|
max-width: none;
|
||||||
|
margin: 0 1rem 0 3rem; } }
|
||||||
|
|
||||||
|
/* tablet */
|
||||||
|
@media (max-width: 959px) {
|
||||||
|
div.layout > aside {
|
||||||
|
width: 218px; }
|
||||||
|
div.layout > section {
|
||||||
|
width: calc(100% - 220px - 4rem);
|
||||||
|
max-width: none;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0 2rem; }
|
||||||
|
div.layout > section div.content {
|
||||||
|
min-width: inherit; } }
|
||||||
|
|
||||||
|
/* mobile */
|
||||||
|
@media (max-width: 599px) {
|
||||||
|
div.layout > aside {
|
||||||
|
display: none; }
|
||||||
|
div.layout > section {
|
||||||
|
width: calc(100%);
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 0 1.5rem;
|
||||||
|
max-width: none; } }
|
||||||
|
|
||||||
|
div.gatsby-highlight {
|
||||||
|
margin-bottom: 1rem; }
|
||||||
|
|
||||||
|
@media (max-width: 599px) {
|
||||||
|
#mobile-menu {
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100vh;
|
||||||
|
padding: 0 0 1rem;
|
||||||
|
max-width: 600px;
|
||||||
|
z-index: -10;
|
||||||
|
transition: opacity 0.25s ease 0s;
|
||||||
|
opacity: 0;
|
||||||
|
overflow: scroll; }
|
||||||
|
#mobile-menu > ul,
|
||||||
|
#mobile-menu > div {
|
||||||
|
transform: translate(0px, 10px);
|
||||||
|
transition: transform 0.25s ease 0s; }
|
||||||
|
.theme-wrapper.show-menu #mobile-menu {
|
||||||
|
opacity: 1;
|
||||||
|
z-index: 10; }
|
||||||
|
.theme-wrapper.show-menu #mobile-menu > div {
|
||||||
|
transform: translate(0px, 0px); } }
|
||||||
|
|
||||||
|
.theme-wrapper.light div.draft-ui-menu,
|
||||||
|
.theme-wrapper.light div.menu {
|
||||||
|
background: #f1f3f5; }
|
||||||
|
|
||||||
|
.theme-wrapper.dark div.draft-ui-menu,
|
||||||
|
.theme-wrapper.dark div.menu {
|
||||||
|
background: #343a40; }
|
||||||
|
|
||||||
|
.theme-wrapper.show-menu div.menu {
|
||||||
|
opacity: 1;
|
||||||
|
z-index: 10; }
|
||||||
|
.theme-wrapper.show-menu div.menu > div {
|
||||||
|
transform: translate(0px, 0px); }
|
||||||
|
|
||||||
|
div.spaced-buttons > button {
|
||||||
|
margin: 0 0.5rem 0.5rem 0; }
|
||||||
|
|
||||||
|
div.spaced > * {
|
||||||
|
margin: 0 0.5rem 0.5rem 0; }
|
||||||
|
|
||||||
|
ul#pre-main-menu {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0; }
|
||||||
|
|
||||||
|
.boldish {
|
||||||
|
font-weight: 500; }
|
||||||
|
|
||||||
|
.freesewing.draft {
|
||||||
|
padding: 1rem; }
|
||||||
|
|
||||||
|
li.action {
|
||||||
|
clear: both; }
|
||||||
|
|
||||||
|
li.action span.MuiSwitch-root {
|
||||||
|
float: right; }
|
||||||
|
|
||||||
|
.theme-wrapper.light ul#draft-config li.action.toggle.off,
|
||||||
|
.theme-wrapper.dark ul#draft-config li.action.toggle.off {
|
||||||
|
color: #868e96; }
|
||||||
|
.theme-wrapper.light ul#draft-config li.action.toggle.off > span svg,
|
||||||
|
.theme-wrapper.dark ul#draft-config li.action.toggle.off > span svg {
|
||||||
|
color: #868e96; }
|
||||||
|
|
||||||
|
footer {
|
||||||
|
background-color: #1a1d21;
|
||||||
|
color: #adb5bd;
|
||||||
|
padding: 3rem 0 6rem; }
|
||||||
|
footer a {
|
||||||
|
color: #dee2e6 !important;
|
||||||
|
font-weight: 400; }
|
||||||
|
footer a:hover {
|
||||||
|
color: #d0bfff !important; }
|
||||||
|
footer div.cols {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: space-between;
|
||||||
|
max-width: 1600px;
|
||||||
|
margin: auto;
|
||||||
|
padding: 0 1.5rem; }
|
||||||
|
footer div.cols > div {
|
||||||
|
min-width: 150px;
|
||||||
|
max-width: calc(20% - 4rem);
|
||||||
|
padding: 0 2rem 0 0;
|
||||||
|
width: 100%; }
|
||||||
|
footer ul {
|
||||||
|
text-align: left;
|
||||||
|
font-size: 1.1rem;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
width: 100%; }
|
||||||
|
footer ul li:first-of-type {
|
||||||
|
padding: 0.35rem 0.75rem; }
|
||||||
|
footer ul li {
|
||||||
|
display: block; }
|
||||||
|
footer ul li a:hover {
|
||||||
|
text-decoration: none !important; }
|
||||||
|
footer ul li.heading {
|
||||||
|
font-weight: bold;
|
||||||
|
border-bottom: 3px solid #adb5bd;
|
||||||
|
margin-bottom: 0.5rem; }
|
||||||
|
|
||||||
|
/* XL screens */
|
||||||
|
@media (min-width: 1200px) {
|
||||||
|
footer div.cols > div:last-of-type {
|
||||||
|
min-width: 350px; } }
|
||||||
|
|
||||||
|
/* SM screens */
|
||||||
|
@media (min-width: 600px) and (max-width: 959px) {
|
||||||
|
footer div.cols {
|
||||||
|
flex-wrap: wrap; }
|
||||||
|
footer div.cols > div {
|
||||||
|
width: calc(30% - 4rem);
|
||||||
|
padding: 0 1rem; } }
|
||||||
|
|
||||||
|
/* XS screens */
|
||||||
|
@media (max-width: 599px) {
|
||||||
|
footer div.cols {
|
||||||
|
display: block; }
|
||||||
|
footer div.cols > div {
|
||||||
|
margin: 2rem auto 0;
|
||||||
|
max-width: calc(100% - 4rem); }
|
||||||
|
footer div.cols > div:first-of-type {
|
||||||
|
margin-top: 0; } }
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@freesewing/bella",
|
"name": "@freesewing/bella",
|
||||||
"version": "2.12.1",
|
"version": "2.14.0",
|
||||||
"description": "A FreeSewing pattern for a womenswear bodice block",
|
"description": "A FreeSewing pattern for a womenswear bodice block",
|
||||||
"author": "Joost De Cock <joost@decock.org> (https://github.com/joostdecock)",
|
"author": "Joost De Cock <joost@decock.org> (https://github.com/joostdecock)",
|
||||||
"homepage": "https://freesewing.org/",
|
"homepage": "https://freesewing.org/",
|
||||||
|
@ -34,8 +34,8 @@
|
||||||
"testci": "BABEL_ENV=production ./node_modules/.bin/_mocha tests/*.test.js --require @babel/register"
|
"testci": "BABEL_ENV=production ./node_modules/.bin/_mocha tests/*.test.js --require @babel/register"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@freesewing/core": "^2.12.1",
|
"@freesewing/core": "^2.14.0",
|
||||||
"@freesewing/plugin-bundle": "^2.12.1"
|
"@freesewing/plugin-bundle": "^2.14.0"
|
||||||
},
|
},
|
||||||
"dependencies": {},
|
"dependencies": {},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
@ -46,14 +46,14 @@
|
||||||
"eslint": "^7.6.0",
|
"eslint": "^7.6.0",
|
||||||
"babel-jest": "^26.2.2",
|
"babel-jest": "^26.2.2",
|
||||||
"jest": "26.2.2",
|
"jest": "26.2.2",
|
||||||
"@freesewing/components": "^2.12.1",
|
"@freesewing/components": "^2.14.0",
|
||||||
"@freesewing/css-theme": "^2.12.1",
|
"@freesewing/css-theme": "^2.14.0",
|
||||||
"@freesewing/i18n": "^2.12.1",
|
"@freesewing/i18n": "^2.14.0",
|
||||||
"@freesewing/mui-theme": "^2.12.1",
|
"@freesewing/mui-theme": "^2.14.0",
|
||||||
"@freesewing/plugin-bust": "^2.12.1",
|
"@freesewing/plugin-bust": "^2.14.0",
|
||||||
"@freesewing/plugin-buttons": "^2.12.1",
|
"@freesewing/plugin-buttons": "^2.14.0",
|
||||||
"@freesewing/plugin-flip": "^2.12.1",
|
"@freesewing/plugin-flip": "^2.14.0",
|
||||||
"@freesewing/utils": "^2.12.1",
|
"@freesewing/utils": "^2.14.0",
|
||||||
"@svgr/rollup": "^2.4.1",
|
"@svgr/rollup": "^2.4.1",
|
||||||
"cross-env": "^7.0.2",
|
"cross-env": "^7.0.2",
|
||||||
"react-scripts": "^3.4.1",
|
"react-scripts": "^3.4.1",
|
||||||
|
|
|
@ -60,13 +60,15 @@ export default function (part) {
|
||||||
// Find out location of the armhole
|
// Find out location of the armhole
|
||||||
let armholeDepth = measurements.hpsToWaistBack * options.armholeDepth + points.shoulder.y
|
let armholeDepth = measurements.hpsToWaistBack * options.armholeDepth + points.shoulder.y
|
||||||
points.cbNeckCp2 = new Point(0, armholeDepth)
|
points.cbNeckCp2 = new Point(0, armholeDepth)
|
||||||
points.dartLeftArmhole = utils.curveIntersectsY(
|
// Does dart pass armhole depth?
|
||||||
|
let dartArmholeDepth = utils.curveIntersectsY(
|
||||||
points.dartBottomLeft,
|
points.dartBottomLeft,
|
||||||
points.dartLeftCp,
|
points.dartLeftCp,
|
||||||
points.dartTip,
|
points.dartTip,
|
||||||
points.dartTip,
|
points.dartTip,
|
||||||
armholeDepth
|
armholeDepth
|
||||||
)
|
)
|
||||||
|
let extra = 0
|
||||||
points.cbArmhole = utils.curveIntersectsY(
|
points.cbArmhole = utils.curveIntersectsY(
|
||||||
points.cbNeck,
|
points.cbNeck,
|
||||||
points.cbNeckCp2,
|
points.cbNeckCp2,
|
||||||
|
@ -74,7 +76,10 @@ export default function (part) {
|
||||||
points.waistCenter,
|
points.waistCenter,
|
||||||
armholeDepth
|
armholeDepth
|
||||||
)
|
)
|
||||||
let extra = points.dartLeftArmhole.dx(points.dartTip) * 2 + points.cbArmhole.x
|
if (dartArmholeDepth) {
|
||||||
|
points.dartLeftArmhole = dartArmholeDepth
|
||||||
|
extra = points.dartLeftArmhole.dx(points.dartTip) * 2 + points.cbArmhole.x
|
||||||
|
}
|
||||||
points.armhole = new Point(
|
points.armhole = new Point(
|
||||||
(measurements.underbust / 4) * (1 + options.chestEase) + extra,
|
(measurements.underbust / 4) * (1 + options.chestEase) + extra,
|
||||||
armholeDepth
|
armholeDepth
|
||||||
|
|
|
@ -11,7 +11,7 @@ export default function (part) {
|
||||||
paperless,
|
paperless,
|
||||||
macro,
|
macro,
|
||||||
utils,
|
utils,
|
||||||
measurements,
|
measurements
|
||||||
} = part.shorthand()
|
} = part.shorthand()
|
||||||
|
|
||||||
// Get to work
|
// Get to work
|
||||||
|
@ -43,7 +43,10 @@ export default function (part) {
|
||||||
)
|
)
|
||||||
|
|
||||||
// Bust point
|
// Bust point
|
||||||
points.bust = new Point(measurements.bustSpan * 0.5 * (1 + options.bustSpanEase), measurements.hpsToBust)
|
points.bust = new Point(
|
||||||
|
measurements.bustSpan * 0.5 * (1 + options.bustSpanEase),
|
||||||
|
measurements.hpsToBust
|
||||||
|
)
|
||||||
|
|
||||||
// Construct armhole
|
// Construct armhole
|
||||||
points.armholeCp2 = points.armhole.shift(180, 40)
|
points.armholeCp2 = points.armhole.shift(180, 40)
|
||||||
|
@ -112,15 +115,22 @@ export default function (part) {
|
||||||
)
|
)
|
||||||
points.bustDartBottom = points.bustDartTop.rotate(angle * -1, points.bust)
|
points.bustDartBottom = points.bustDartTop.rotate(angle * -1, points.bust)
|
||||||
points.bustDartMiddle = points.bustDartTop.shiftFractionTowards(points.bustDartBottom, 0.5)
|
points.bustDartMiddle = points.bustDartTop.shiftFractionTowards(points.bustDartBottom, 0.5)
|
||||||
points.bustDartTip = points.bustDartMiddle.shiftFractionTowards(points.bust, options.bustDartLength)
|
points.bustDartTip = points.bustDartMiddle.shiftFractionTowards(
|
||||||
|
points.bust,
|
||||||
|
options.bustDartLength
|
||||||
|
)
|
||||||
points.bustDartEdge = utils.beamsIntersect(
|
points.bustDartEdge = utils.beamsIntersect(
|
||||||
points.bust,
|
points.bust,
|
||||||
points.bustDartMiddle,
|
points.bustDartMiddle,
|
||||||
points.armhole,
|
points.armhole,
|
||||||
points.bustDartTop
|
points.bustDartTop
|
||||||
)
|
)
|
||||||
points.bustDartCpTop = points.bust.shiftFractionTowards(points.bustDartTop, 0.666).rotate(5 * options.bustDartCurve, points.bust)
|
points.bustDartCpTop = points.bust
|
||||||
points.bustDartCpBottom = points.bust.shiftFractionTowards(points.bustDartBottom, 0.666).rotate(-5 * options.bustDartCurve, points.bust)
|
.shiftFractionTowards(points.bustDartTop, 0.666)
|
||||||
|
.rotate(5 * options.bustDartCurve, points.bust)
|
||||||
|
points.bustDartCpBottom = points.bust
|
||||||
|
.shiftFractionTowards(points.bustDartBottom, 0.666)
|
||||||
|
.rotate(-5 * options.bustDartCurve, points.bust)
|
||||||
|
|
||||||
// Side seam length
|
// Side seam length
|
||||||
let aboveDart = points.armhole.dist(points.bustDartTop)
|
let aboveDart = points.armhole.dist(points.bustDartTop)
|
||||||
|
@ -142,10 +152,7 @@ export default function (part) {
|
||||||
points.bust,
|
points.bust,
|
||||||
options.waistDartLength
|
options.waistDartLength
|
||||||
)
|
)
|
||||||
points.waistDartLeftCp = points.waistDartLeft.shift(
|
points.waistDartLeftCp = points.waistDartLeft.shift(90, points.waistDartHem.dist(points.bust) / 2)
|
||||||
90,
|
|
||||||
points.waistDartHem.dist(points.bust) / 2
|
|
||||||
)
|
|
||||||
points.waistDartRightCp = points.waistDartRight.shift(
|
points.waistDartRightCp = points.waistDartRight.shift(
|
||||||
90,
|
90,
|
||||||
points.waistDartHem.dist(points.bust) / 2
|
points.waistDartHem.dist(points.bust) / 2
|
||||||
|
@ -185,7 +192,7 @@ export default function (part) {
|
||||||
.setRender(false)
|
.setRender(false)
|
||||||
|
|
||||||
if (complete) {
|
if (complete) {
|
||||||
points.titleAnchor = new Point(points.armholePitch.x/2, points.armholePitchCp2.y)
|
points.titleAnchor = new Point(points.armholePitch.x / 2, points.armholePitchCp2.y)
|
||||||
macro('title', {
|
macro('title', {
|
||||||
at: points.titleAnchor,
|
at: points.titleAnchor,
|
||||||
nr: 1,
|
nr: 1,
|
||||||
|
@ -205,122 +212,113 @@ export default function (part) {
|
||||||
})
|
})
|
||||||
macro('sprinkle', {
|
macro('sprinkle', {
|
||||||
snippet: 'notch',
|
snippet: 'notch',
|
||||||
on: [
|
on: ['bust', 'armholePitch', 'cfBust']
|
||||||
'bust',
|
|
||||||
'armholePitch',
|
|
||||||
'cfBust',
|
|
||||||
]
|
|
||||||
})
|
})
|
||||||
|
|
||||||
if (sa) {
|
if (sa) {
|
||||||
paths.sa = paths.saBase
|
paths.sa = paths.saBase.offset(sa).line(points.cfNeck).attr('class', 'fabric sa')
|
||||||
.offset(sa)
|
paths.sa = paths.sa.move(points.cfHem).line(paths.sa.start())
|
||||||
.line(points.cfNeck)
|
|
||||||
.attr('class', 'fabric sa')
|
|
||||||
paths.sa = paths.sa
|
|
||||||
.move(points.cfHem)
|
|
||||||
.line(paths.sa.start())
|
|
||||||
}
|
}
|
||||||
if (paperless) {
|
if (paperless) {
|
||||||
macro('vd', {
|
macro('vd', {
|
||||||
from: points.cfHem,
|
from: points.cfHem,
|
||||||
to: points.waistDartTip,
|
to: points.waistDartTip,
|
||||||
x: 0 - 15,
|
x: 0 - 15
|
||||||
})
|
})
|
||||||
macro('vd', {
|
macro('vd', {
|
||||||
from: points.cfHem,
|
from: points.cfHem,
|
||||||
to: points.bust,
|
to: points.bust,
|
||||||
x: 0 - 30,
|
x: 0 - 30
|
||||||
})
|
})
|
||||||
macro('vd', {
|
macro('vd', {
|
||||||
from: points.cfHem,
|
from: points.cfHem,
|
||||||
to: points.cfNeck,
|
to: points.cfNeck,
|
||||||
x: 0 - 45,
|
x: 0 - 45
|
||||||
})
|
})
|
||||||
macro('vd', {
|
macro('vd', {
|
||||||
from: points.cfHem,
|
from: points.cfHem,
|
||||||
to: points.hps,
|
to: points.hps,
|
||||||
x: 0 - 60,
|
x: 0 - 60
|
||||||
})
|
})
|
||||||
macro('hd', {
|
macro('hd', {
|
||||||
from: points.cfBust,
|
from: points.cfBust,
|
||||||
to: points.bust,
|
to: points.bust,
|
||||||
y: points.bust.y - 15,
|
y: points.bust.y - 15
|
||||||
})
|
})
|
||||||
macro('hd', {
|
macro('hd', {
|
||||||
from: points.cfBust,
|
from: points.cfBust,
|
||||||
to: points.bustDartTip,
|
to: points.bustDartTip,
|
||||||
y: points.bust.y - 30,
|
y: points.bust.y - 30
|
||||||
})
|
})
|
||||||
macro('hd', {
|
macro('hd', {
|
||||||
from: points.cfHem,
|
from: points.cfHem,
|
||||||
to: points.waistDartLeft,
|
to: points.waistDartLeft,
|
||||||
y: points.cfHem.y + sa + 15,
|
y: points.cfHem.y + sa + 15
|
||||||
})
|
})
|
||||||
macro('hd', {
|
macro('hd', {
|
||||||
from: points.cfHem,
|
from: points.cfHem,
|
||||||
to: points.waistDartRight,
|
to: points.waistDartRight,
|
||||||
y: points.cfHem.y + sa + 30,
|
y: points.cfHem.y + sa + 30
|
||||||
})
|
})
|
||||||
macro('hd', {
|
macro('hd', {
|
||||||
from: points.cfHem,
|
from: points.cfHem,
|
||||||
to: points.sideHem,
|
to: points.sideHem,
|
||||||
y: points.cfHem.y + sa + 45,
|
y: points.cfHem.y + sa + 45
|
||||||
})
|
})
|
||||||
macro('hd', {
|
macro('hd', {
|
||||||
from: points.cfHem,
|
from: points.cfHem,
|
||||||
to: points.bustDartBottom,
|
to: points.bustDartBottom,
|
||||||
y: points.cfHem.y + sa + 60,
|
y: points.cfHem.y + sa + 60
|
||||||
})
|
})
|
||||||
macro('hd', {
|
macro('hd', {
|
||||||
from: points.cfHem,
|
from: points.cfHem,
|
||||||
to: points.bustDartTop,
|
to: points.bustDartTop,
|
||||||
y: points.cfHem.y + sa + 75,
|
y: points.cfHem.y + sa + 75
|
||||||
})
|
})
|
||||||
macro('vd', {
|
macro('vd', {
|
||||||
from: points.sideHem,
|
from: points.sideHem,
|
||||||
to: points.bustDartBottom,
|
to: points.bustDartBottom,
|
||||||
x: points.bustDartTop.x + sa + 15,
|
x: points.bustDartTop.x + sa + 15
|
||||||
})
|
})
|
||||||
macro('vd', {
|
macro('vd', {
|
||||||
from: points.sideHem,
|
from: points.sideHem,
|
||||||
to: points.bustDartTop,
|
to: points.bustDartTop,
|
||||||
x: points.bustDartTop.x + sa + 30,
|
x: points.bustDartTop.x + sa + 30
|
||||||
})
|
})
|
||||||
macro('vd', {
|
macro('vd', {
|
||||||
from: points.sideHem,
|
from: points.sideHem,
|
||||||
to: points.armhole,
|
to: points.armhole,
|
||||||
x: points.bustDartTop.x + sa + 45,
|
x: points.bustDartTop.x + sa + 45
|
||||||
})
|
})
|
||||||
macro('vd', {
|
macro('vd', {
|
||||||
from: points.sideHem,
|
from: points.sideHem,
|
||||||
to: points.armholePitch,
|
to: points.armholePitch,
|
||||||
x: points.bustDartTop.x + sa + 60,
|
x: points.bustDartTop.x + sa + 60
|
||||||
})
|
})
|
||||||
macro('vd', {
|
macro('vd', {
|
||||||
from: points.sideHem,
|
from: points.sideHem,
|
||||||
to: points.shoulder,
|
to: points.shoulder,
|
||||||
x: points.bustDartTop.x + sa + 75,
|
x: points.bustDartTop.x + sa + 75
|
||||||
})
|
})
|
||||||
macro('hd', {
|
macro('hd', {
|
||||||
from: points.cfNeck,
|
from: points.cfNeck,
|
||||||
to: points.hps,
|
to: points.hps,
|
||||||
y: points.hps.y - sa - 15,
|
y: points.hps.y - sa - 15
|
||||||
})
|
})
|
||||||
macro('hd', {
|
macro('hd', {
|
||||||
from: points.cfNeck,
|
from: points.cfNeck,
|
||||||
to: points.armholePitch,
|
to: points.armholePitch,
|
||||||
y: points.hps.y - sa - 30,
|
y: points.hps.y - sa - 30
|
||||||
})
|
})
|
||||||
macro('hd', {
|
macro('hd', {
|
||||||
from: points.cfNeck,
|
from: points.cfNeck,
|
||||||
to: points.shoulder,
|
to: points.shoulder,
|
||||||
y: points.hps.y - sa - 45,
|
y: points.hps.y - sa - 45
|
||||||
})
|
})
|
||||||
macro('hd', {
|
macro('hd', {
|
||||||
from: points.cfNeck,
|
from: points.cfNeck,
|
||||||
to: points.armhole,
|
to: points.armhole,
|
||||||
y: points.hps.y - sa - 60,
|
y: points.hps.y - sa - 60
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||

|

|
||||||
<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"
|
||||||
|
@ -19,6 +19,11 @@
|
||||||
title="Open issues tagged pkg:benjamin"
|
title="Open issues tagged pkg:benjamin"
|
||||||
><img src="https://img.shields.io/github/issues/freesewing/freesewing/pkg:benjamin.svg?label=Issues"
|
><img src="https://img.shields.io/github/issues/freesewing/freesewing/pkg:benjamin.svg?label=Issues"
|
||||||
alt="Open issues tagged pkg:benjamin"/>
|
alt="Open issues tagged pkg:benjamin"/>
|
||||||
|
</a><a
|
||||||
|
href="https://todo.freesewing.org/"
|
||||||
|
title="Project board"
|
||||||
|
><img src="https://img.shields.io/badge/%F3%A0%80%A0-Project%20board-9775fa.svg?logo=github&logoColor=white&logoWidth=15"
|
||||||
|
alt="Project board"/>
|
||||||
</a></p><p align='center'><a
|
</a></p><p align='center'><a
|
||||||
href="https://twitter.com/freesewing_org"
|
href="https://twitter.com/freesewing_org"
|
||||||
title="Follow @freesewing_org on Twitter"
|
title="Follow @freesewing_org on Twitter"
|
||||||
|
@ -41,49 +46,62 @@
|
||||||
alt="Follow @freesewing_org on Twitter"/>
|
alt="Follow @freesewing_org on Twitter"/>
|
||||||
</a></p>
|
</a></p>
|
||||||
|
|
||||||
## What am I looking at? 🤔
|
# @freesewing/benjamin
|
||||||
|
|
||||||
This repository is our *monorepo* holding [all our NPM packages](https://www.npmjs.com/search?q=keywords:freesewing).
|
|
||||||
This folder holds **@freesewing/benjamin**
|
|
||||||
|
|
||||||
A FreeSewing pattern for a bow tie
|
A FreeSewing pattern for a bow tie
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## What am I looking at? 🤔
|
||||||
|
|
||||||
|
This repository is our *monorepo*
|
||||||
|
holding [all our NPM packages](https://freesewing.dev/reference/packages/).
|
||||||
|
|
||||||
|
This folder holds: @freesewing/benjamin
|
||||||
|
|
||||||
## 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.
|
||||||
|
|
||||||
|
If you're a maker, checkout [freesewing.org](https://freesewing.org/) where you can generate
|
||||||
|
our sewing patterns adapted to your measurements.
|
||||||
|
|
||||||
|
If you're a developer, our documentation is on [freesewing.dev](https://freesewing.dev/).
|
||||||
Our [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox
|
Our [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox
|
||||||
for parametric design of sewing patterns. It's a modular system (check our list
|
for parametric design of sewing patterns. But we also provide a range
|
||||||
of [plugins](https://freesewing.dev/reference/plugins/) and getting started is as simple as:
|
of [plugins](https://freesewing.dev/reference/plugins/) that further extend the
|
||||||
|
functionality of the platform.
|
||||||
|
|
||||||
|
If you have NodeJS installed, you can try it right now by running:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
npm init freesewing-pattern
|
npx create-freesewing-pattern
|
||||||
```
|
```
|
||||||
|
|
||||||
The [getting started](https://freesewing.dev/guides/getting-started/) section on [freesewing.dev](https://freesewing.dev/) is a good
|
Or, consult our getting started guides
|
||||||
entrypoint to our documentation, but you'll find a lot more there, including
|
for [Linux](https://freesewing.dev/tutorials/getting-started-linux/),
|
||||||
our [API reference](https://freesewing.dev/reference/api/),
|
[MacOS](https://freesewing.dev/tutorials/getting-started-mac/),
|
||||||
as well as [our turorial](https://freesewing.dev/tutorials/pattern-design/),
|
or [Windows](https://freesewing.dev/tutorials/getting-started-windows/).
|
||||||
and [howtos](https://freesewing.dev/howtos/).
|
|
||||||
|
|
||||||
If you're a maker, checkout [freesewing.org](https://freesewing/) where you can generate
|
We also have a [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) that
|
||||||
our sewing patterns adapted to your measurements.
|
walks you through your first parametric design,
|
||||||
|
and [a friendly community](https://freesewing.org/community/where/) with
|
||||||
|
people who can help you when you get stuck.
|
||||||
|
|
||||||
## Support FreeSewing: Become a patron 🥰
|
## Support FreeSewing: Become a patron 🥰
|
||||||
|
|
||||||
FreeSewing is an open source project run by a community,
|
FreeSewing is an open source project run by a community,
|
||||||
and financially supported by our patrons.
|
and financially supported by our patrons.
|
||||||
|
|
||||||
If you feel what we do is worthwhile, you too
|
If you feel what we do is worthwhile, and you can spend a few coind without
|
||||||
should [become a patron](https://freesewing.org/patrons/join).
|
hardship, then you should [join us and become a patron](https://freesewing.org/community/join).
|
||||||
|
|
||||||
## Links 👩💻
|
## Links 👩💻
|
||||||
|
|
||||||
- 💻 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)
|
||||||
- 💬 Chat: On Discord via [chat.freesewing.org](https://chat.freesewing.org/)
|
- 💬 Chat: On Discord via [chat.freesewing.org](https://chat.freesewing.org/)
|
||||||
|
- ✅ Todo list/Kanban board: On Github via [todo.freesewing.org](https://todo.freesewing.org/)
|
||||||
- 🐦 Twitter: [@freesewing_org](https://twitter.com/freesewing_org)
|
- 🐦 Twitter: [@freesewing_org](https://twitter.com/freesewing_org)
|
||||||
- 📷 Instagram: [@freesewing_org](https://instagram.com/freesewing_org)
|
- 📷 Instagram: [@freesewing_org](https://instagram.com/freesewing_org)
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@ import React from 'react'
|
||||||
import ReactDOM from 'react-dom'
|
import ReactDOM from 'react-dom'
|
||||||
import App from './App'
|
import App from './App'
|
||||||
import * as serviceWorker from './serviceWorker'
|
import * as serviceWorker from './serviceWorker'
|
||||||
|
import './layout.css'
|
||||||
|
|
||||||
ReactDOM.render(<App />, document.getElementById('root'))
|
ReactDOM.render(<App />, document.getElementById('root'))
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@freesewing/benjamin",
|
"name": "@freesewing/benjamin",
|
||||||
"version": "2.12.1",
|
"version": "2.14.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/",
|
||||||
|
@ -34,8 +34,8 @@
|
||||||
"testci": "BABEL_ENV=production ./node_modules/.bin/_mocha tests/*.test.js --require @babel/register"
|
"testci": "BABEL_ENV=production ./node_modules/.bin/_mocha tests/*.test.js --require @babel/register"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@freesewing/core": "^2.12.1",
|
"@freesewing/core": "^2.14.0",
|
||||||
"@freesewing/plugin-bundle": "^2.12.1"
|
"@freesewing/plugin-bundle": "^2.14.0"
|
||||||
},
|
},
|
||||||
"dependencies": {},
|
"dependencies": {},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
@ -46,14 +46,14 @@
|
||||||
"eslint": "^7.6.0",
|
"eslint": "^7.6.0",
|
||||||
"babel-jest": "^26.2.2",
|
"babel-jest": "^26.2.2",
|
||||||
"jest": "26.2.2",
|
"jest": "26.2.2",
|
||||||
"@freesewing/components": "^2.12.1",
|
"@freesewing/components": "^2.14.0",
|
||||||
"@freesewing/css-theme": "^2.12.1",
|
"@freesewing/css-theme": "^2.14.0",
|
||||||
"@freesewing/i18n": "^2.12.1",
|
"@freesewing/i18n": "^2.14.0",
|
||||||
"@freesewing/mui-theme": "^2.12.1",
|
"@freesewing/mui-theme": "^2.14.0",
|
||||||
"@freesewing/plugin-bust": "^2.12.1",
|
"@freesewing/plugin-bust": "^2.14.0",
|
||||||
"@freesewing/plugin-buttons": "^2.12.1",
|
"@freesewing/plugin-buttons": "^2.14.0",
|
||||||
"@freesewing/plugin-flip": "^2.12.1",
|
"@freesewing/plugin-flip": "^2.14.0",
|
||||||
"@freesewing/utils": "^2.12.1",
|
"@freesewing/utils": "^2.14.0",
|
||||||
"@svgr/rollup": "^2.4.1",
|
"@svgr/rollup": "^2.4.1",
|
||||||
"cross-env": "^7.0.2",
|
"cross-env": "^7.0.2",
|
||||||
"react-scripts": "^3.4.1",
|
"react-scripts": "^3.4.1",
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
export default function(part) {
|
export default function (part) {
|
||||||
let { Point, points, Path, paths, complete, macro, sa, store, paperless } = part.shorthand()
|
let { Point, points, Path, paths, complete, macro, sa, store, paperless } = part.shorthand()
|
||||||
|
|
||||||
points.bandBottomLeft = points.bandBottomLeft.shift(0, 0)
|
points.bandBottomLeft = points.bandBottomLeft.shift(0, 0)
|
||||||
|
@ -30,10 +30,7 @@ export default function(part) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
if (sa) {
|
if (sa) {
|
||||||
paths.sa = paths.seam
|
paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa').setRender(true)
|
||||||
.offset(sa)
|
|
||||||
.attr('class', 'fabric sa')
|
|
||||||
.setRender(true)
|
|
||||||
}
|
}
|
||||||
macro('title', {
|
macro('title', {
|
||||||
at: points.titleAnchor,
|
at: points.titleAnchor,
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
export default function(part) {
|
export default function (part) {
|
||||||
let {
|
let {
|
||||||
options,
|
options,
|
||||||
Point,
|
Point,
|
||||||
|
@ -46,10 +46,7 @@ export default function(part) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
if (sa) {
|
if (sa) {
|
||||||
paths.sa = paths.seam
|
paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa').setRender(true)
|
||||||
.offset(sa)
|
|
||||||
.attr('class', 'fabric sa')
|
|
||||||
.setRender(true)
|
|
||||||
}
|
}
|
||||||
macro('title', {
|
macro('title', {
|
||||||
at: points.titleAnchor,
|
at: points.titleAnchor,
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
export default function(part) {
|
export default function (part) {
|
||||||
let {
|
let {
|
||||||
options,
|
options,
|
||||||
Point,
|
Point,
|
||||||
|
@ -46,10 +46,7 @@ export default function(part) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
if (sa) {
|
if (sa) {
|
||||||
paths.sa = paths.seam
|
paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa').setRender(true)
|
||||||
.offset(sa)
|
|
||||||
.attr('class', 'fabric sa')
|
|
||||||
.setRender(true)
|
|
||||||
}
|
}
|
||||||
macro('title', {
|
macro('title', {
|
||||||
at: points.titleAnchor,
|
at: points.titleAnchor,
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||

|

|
||||||
<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"
|
||||||
|
@ -19,6 +19,11 @@
|
||||||
title="Open issues tagged pkg:bent"
|
title="Open issues tagged pkg:bent"
|
||||||
><img src="https://img.shields.io/github/issues/freesewing/freesewing/pkg:bent.svg?label=Issues"
|
><img src="https://img.shields.io/github/issues/freesewing/freesewing/pkg:bent.svg?label=Issues"
|
||||||
alt="Open issues tagged pkg:bent"/>
|
alt="Open issues tagged pkg:bent"/>
|
||||||
|
</a><a
|
||||||
|
href="https://todo.freesewing.org/"
|
||||||
|
title="Project board"
|
||||||
|
><img src="https://img.shields.io/badge/%F3%A0%80%A0-Project%20board-9775fa.svg?logo=github&logoColor=white&logoWidth=15"
|
||||||
|
alt="Project board"/>
|
||||||
</a></p><p align='center'><a
|
</a></p><p align='center'><a
|
||||||
href="https://twitter.com/freesewing_org"
|
href="https://twitter.com/freesewing_org"
|
||||||
title="Follow @freesewing_org on Twitter"
|
title="Follow @freesewing_org on Twitter"
|
||||||
|
@ -41,49 +46,62 @@
|
||||||
alt="Follow @freesewing_org on Twitter"/>
|
alt="Follow @freesewing_org on Twitter"/>
|
||||||
</a></p>
|
</a></p>
|
||||||
|
|
||||||
## What am I looking at? 🤔
|
# @freesewing/bent
|
||||||
|
|
||||||
This repository is our *monorepo* holding [all our NPM packages](https://www.npmjs.com/search?q=keywords:freesewing).
|
|
||||||
This folder holds **@freesewing/bent**
|
|
||||||
|
|
||||||
A FreeSewing pattern for a menswear body block with a two-part sleeve
|
A FreeSewing pattern for a menswear body block with a two-part sleeve
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## What am I looking at? 🤔
|
||||||
|
|
||||||
|
This repository is our *monorepo*
|
||||||
|
holding [all our NPM packages](https://freesewing.dev/reference/packages/).
|
||||||
|
|
||||||
|
This folder holds: @freesewing/bent
|
||||||
|
|
||||||
## 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.
|
||||||
|
|
||||||
|
If you're a maker, checkout [freesewing.org](https://freesewing.org/) where you can generate
|
||||||
|
our sewing patterns adapted to your measurements.
|
||||||
|
|
||||||
|
If you're a developer, our documentation is on [freesewing.dev](https://freesewing.dev/).
|
||||||
Our [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox
|
Our [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox
|
||||||
for parametric design of sewing patterns. It's a modular system (check our list
|
for parametric design of sewing patterns. But we also provide a range
|
||||||
of [plugins](https://freesewing.dev/reference/plugins/) and getting started is as simple as:
|
of [plugins](https://freesewing.dev/reference/plugins/) that further extend the
|
||||||
|
functionality of the platform.
|
||||||
|
|
||||||
|
If you have NodeJS installed, you can try it right now by running:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
npm init freesewing-pattern
|
npx create-freesewing-pattern
|
||||||
```
|
```
|
||||||
|
|
||||||
The [getting started](https://freesewing.dev/guides/getting-started/) section on [freesewing.dev](https://freesewing.dev/) is a good
|
Or, consult our getting started guides
|
||||||
entrypoint to our documentation, but you'll find a lot more there, including
|
for [Linux](https://freesewing.dev/tutorials/getting-started-linux/),
|
||||||
our [API reference](https://freesewing.dev/reference/api/),
|
[MacOS](https://freesewing.dev/tutorials/getting-started-mac/),
|
||||||
as well as [our turorial](https://freesewing.dev/tutorials/pattern-design/),
|
or [Windows](https://freesewing.dev/tutorials/getting-started-windows/).
|
||||||
and [howtos](https://freesewing.dev/howtos/).
|
|
||||||
|
|
||||||
If you're a maker, checkout [freesewing.org](https://freesewing/) where you can generate
|
We also have a [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) that
|
||||||
our sewing patterns adapted to your measurements.
|
walks you through your first parametric design,
|
||||||
|
and [a friendly community](https://freesewing.org/community/where/) with
|
||||||
|
people who can help you when you get stuck.
|
||||||
|
|
||||||
## Support FreeSewing: Become a patron 🥰
|
## Support FreeSewing: Become a patron 🥰
|
||||||
|
|
||||||
FreeSewing is an open source project run by a community,
|
FreeSewing is an open source project run by a community,
|
||||||
and financially supported by our patrons.
|
and financially supported by our patrons.
|
||||||
|
|
||||||
If you feel what we do is worthwhile, you too
|
If you feel what we do is worthwhile, and you can spend a few coind without
|
||||||
should [become a patron](https://freesewing.org/patrons/join).
|
hardship, then you should [join us and become a patron](https://freesewing.org/community/join).
|
||||||
|
|
||||||
## Links 👩💻
|
## Links 👩💻
|
||||||
|
|
||||||
- 💻 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)
|
||||||
- 💬 Chat: On Discord via [chat.freesewing.org](https://chat.freesewing.org/)
|
- 💬 Chat: On Discord via [chat.freesewing.org](https://chat.freesewing.org/)
|
||||||
|
- ✅ Todo list/Kanban board: On Github via [todo.freesewing.org](https://todo.freesewing.org/)
|
||||||
- 🐦 Twitter: [@freesewing_org](https://twitter.com/freesewing_org)
|
- 🐦 Twitter: [@freesewing_org](https://twitter.com/freesewing_org)
|
||||||
- 📷 Instagram: [@freesewing_org](https://instagram.com/freesewing_org)
|
- 📷 Instagram: [@freesewing_org](https://instagram.com/freesewing_org)
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@ import React from 'react'
|
||||||
import ReactDOM from 'react-dom'
|
import ReactDOM from 'react-dom'
|
||||||
import App from './App'
|
import App from './App'
|
||||||
import * as serviceWorker from './serviceWorker'
|
import * as serviceWorker from './serviceWorker'
|
||||||
|
import './layout.css'
|
||||||
|
|
||||||
ReactDOM.render(<App />, document.getElementById('root'))
|
ReactDOM.render(<App />, document.getElementById('root'))
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@freesewing/bent",
|
"name": "@freesewing/bent",
|
||||||
"version": "2.12.1",
|
"version": "2.14.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@decock.org> (https://github.com/joostdecock)",
|
"author": "Joost De Cock <joost@decock.org> (https://github.com/joostdecock)",
|
||||||
"homepage": "https://freesewing.org/",
|
"homepage": "https://freesewing.org/",
|
||||||
|
@ -34,9 +34,9 @@
|
||||||
"testci": "BABEL_ENV=production ./node_modules/.bin/_mocha tests/*.test.js --require @babel/register"
|
"testci": "BABEL_ENV=production ./node_modules/.bin/_mocha tests/*.test.js --require @babel/register"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@freesewing/core": "^2.12.1",
|
"@freesewing/core": "^2.14.0",
|
||||||
"@freesewing/plugin-bundle": "^2.12.1",
|
"@freesewing/plugin-bundle": "^2.14.0",
|
||||||
"@freesewing/brian": "^2.12.1"
|
"@freesewing/brian": "^2.14.0"
|
||||||
},
|
},
|
||||||
"dependencies": {},
|
"dependencies": {},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
@ -47,14 +47,14 @@
|
||||||
"eslint": "^7.6.0",
|
"eslint": "^7.6.0",
|
||||||
"babel-jest": "^26.2.2",
|
"babel-jest": "^26.2.2",
|
||||||
"jest": "26.2.2",
|
"jest": "26.2.2",
|
||||||
"@freesewing/components": "^2.12.1",
|
"@freesewing/components": "^2.14.0",
|
||||||
"@freesewing/css-theme": "^2.12.1",
|
"@freesewing/css-theme": "^2.14.0",
|
||||||
"@freesewing/i18n": "^2.12.1",
|
"@freesewing/i18n": "^2.14.0",
|
||||||
"@freesewing/mui-theme": "^2.12.1",
|
"@freesewing/mui-theme": "^2.14.0",
|
||||||
"@freesewing/plugin-bust": "^2.12.1",
|
"@freesewing/plugin-bust": "^2.14.0",
|
||||||
"@freesewing/plugin-buttons": "^2.12.1",
|
"@freesewing/plugin-buttons": "^2.14.0",
|
||||||
"@freesewing/plugin-flip": "^2.12.1",
|
"@freesewing/plugin-flip": "^2.14.0",
|
||||||
"@freesewing/utils": "^2.12.1",
|
"@freesewing/utils": "^2.14.0",
|
||||||
"@svgr/rollup": "^2.4.1",
|
"@svgr/rollup": "^2.4.1",
|
||||||
"cross-env": "^7.0.2",
|
"cross-env": "^7.0.2",
|
||||||
"react-scripts": "^3.4.1",
|
"react-scripts": "^3.4.1",
|
||||||
|
|
|
@ -11,13 +11,13 @@ import draftUnderSleeve from './undersleeve'
|
||||||
const Pattern = new freesewing.Design(config, plugins)
|
const Pattern = new freesewing.Design(config, plugins)
|
||||||
|
|
||||||
// Attach draft methods from Brian to prototype
|
// Attach draft methods from Brian to prototype
|
||||||
Pattern.prototype.draftBase = function(part) {
|
Pattern.prototype.draftBase = function (part) {
|
||||||
return new Brian(this.settings).draftBase(part)
|
return new Brian(this.settings).draftBase(part)
|
||||||
}
|
}
|
||||||
Pattern.prototype.draftFront = function(part) {
|
Pattern.prototype.draftFront = function (part) {
|
||||||
return new Brian(this.settings).draftFront(part)
|
return new Brian(this.settings).draftFront(part)
|
||||||
}
|
}
|
||||||
Pattern.prototype.draftBack = function(part) {
|
Pattern.prototype.draftBack = function (part) {
|
||||||
return new Brian(this.settings).draftBack(part)
|
return new Brian(this.settings).draftBack(part)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
export default function(part, s) {
|
export default function (part, s) {
|
||||||
let { macro, points, sa } = part.shorthand()
|
let { macro, points, sa } = part.shorthand()
|
||||||
|
|
||||||
macro('ld', {
|
macro('ld', {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import dimensions from './shared'
|
import dimensions from './shared'
|
||||||
|
|
||||||
export default function(part) {
|
export default function (part) {
|
||||||
let { macro, Path, points, paths, complete, paperless, snippets, Snippet, sa } = part.shorthand()
|
let { macro, Path, points, paths, complete, paperless, snippets, Snippet, sa } = part.shorthand()
|
||||||
|
|
||||||
// Extract seamline from sleeve
|
// Extract seamline from sleeve
|
||||||
|
@ -10,7 +10,7 @@ export default function(part) {
|
||||||
|
|
||||||
// Complete?
|
// Complete?
|
||||||
if (complete) {
|
if (complete) {
|
||||||
macro('scalebox', { at: points.elbowCenter, })
|
macro('scalebox', { at: points.elbowCenter })
|
||||||
snippets.logo = new Snippet('logo', points.elbowCenter.shift(90, 50))
|
snippets.logo = new Snippet('logo', points.elbowCenter.shift(90, 50))
|
||||||
macro('title', {
|
macro('title', {
|
||||||
at: points.armCenter,
|
at: points.armCenter,
|
||||||
|
|
|
@ -1,6 +1,13 @@
|
||||||
# Change log for: @freesewing/breanna
|
# Change log for: @freesewing/breanna
|
||||||
|
|
||||||
|
|
||||||
|
## 2.13.0 (2021-02-13)
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Try harder to find the intersection point for the scyedart
|
||||||
|
- Define missing y variable in paperless branch
|
||||||
|
|
||||||
## 2.7.0 (2020-07-12)
|
## 2.7.0 (2020-07-12)
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||

|

|
||||||
<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"
|
||||||
|
@ -19,6 +19,11 @@
|
||||||
title="Open issues tagged pkg:breanna"
|
title="Open issues tagged pkg:breanna"
|
||||||
><img src="https://img.shields.io/github/issues/freesewing/freesewing/pkg:breanna.svg?label=Issues"
|
><img src="https://img.shields.io/github/issues/freesewing/freesewing/pkg:breanna.svg?label=Issues"
|
||||||
alt="Open issues tagged pkg:breanna"/>
|
alt="Open issues tagged pkg:breanna"/>
|
||||||
|
</a><a
|
||||||
|
href="https://todo.freesewing.org/"
|
||||||
|
title="Project board"
|
||||||
|
><img src="https://img.shields.io/badge/%F3%A0%80%A0-Project%20board-9775fa.svg?logo=github&logoColor=white&logoWidth=15"
|
||||||
|
alt="Project board"/>
|
||||||
</a></p><p align='center'><a
|
</a></p><p align='center'><a
|
||||||
href="https://twitter.com/freesewing_org"
|
href="https://twitter.com/freesewing_org"
|
||||||
title="Follow @freesewing_org on Twitter"
|
title="Follow @freesewing_org on Twitter"
|
||||||
|
@ -41,49 +46,62 @@
|
||||||
alt="Follow @freesewing_org on Twitter"/>
|
alt="Follow @freesewing_org on Twitter"/>
|
||||||
</a></p>
|
</a></p>
|
||||||
|
|
||||||
## What am I looking at? 🤔
|
# @freesewing/breanna
|
||||||
|
|
||||||
This repository is our *monorepo* holding [all our NPM packages](https://www.npmjs.com/search?q=keywords:freesewing).
|
|
||||||
This folder holds **@freesewing/breanna**
|
|
||||||
|
|
||||||
A FreeSewing pattern for a basic body block for womenswear
|
A FreeSewing pattern for a basic body block for womenswear
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## What am I looking at? 🤔
|
||||||
|
|
||||||
|
This repository is our *monorepo*
|
||||||
|
holding [all our NPM packages](https://freesewing.dev/reference/packages/).
|
||||||
|
|
||||||
|
This folder holds: @freesewing/breanna
|
||||||
|
|
||||||
## 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.
|
||||||
|
|
||||||
|
If you're a maker, checkout [freesewing.org](https://freesewing.org/) where you can generate
|
||||||
|
our sewing patterns adapted to your measurements.
|
||||||
|
|
||||||
|
If you're a developer, our documentation is on [freesewing.dev](https://freesewing.dev/).
|
||||||
Our [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox
|
Our [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox
|
||||||
for parametric design of sewing patterns. It's a modular system (check our list
|
for parametric design of sewing patterns. But we also provide a range
|
||||||
of [plugins](https://freesewing.dev/reference/plugins/) and getting started is as simple as:
|
of [plugins](https://freesewing.dev/reference/plugins/) that further extend the
|
||||||
|
functionality of the platform.
|
||||||
|
|
||||||
|
If you have NodeJS installed, you can try it right now by running:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
npm init freesewing-pattern
|
npx create-freesewing-pattern
|
||||||
```
|
```
|
||||||
|
|
||||||
The [getting started](https://freesewing.dev/guides/getting-started/) section on [freesewing.dev](https://freesewing.dev/) is a good
|
Or, consult our getting started guides
|
||||||
entrypoint to our documentation, but you'll find a lot more there, including
|
for [Linux](https://freesewing.dev/tutorials/getting-started-linux/),
|
||||||
our [API reference](https://freesewing.dev/reference/api/),
|
[MacOS](https://freesewing.dev/tutorials/getting-started-mac/),
|
||||||
as well as [our turorial](https://freesewing.dev/tutorials/pattern-design/),
|
or [Windows](https://freesewing.dev/tutorials/getting-started-windows/).
|
||||||
and [howtos](https://freesewing.dev/howtos/).
|
|
||||||
|
|
||||||
If you're a maker, checkout [freesewing.org](https://freesewing/) where you can generate
|
We also have a [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) that
|
||||||
our sewing patterns adapted to your measurements.
|
walks you through your first parametric design,
|
||||||
|
and [a friendly community](https://freesewing.org/community/where/) with
|
||||||
|
people who can help you when you get stuck.
|
||||||
|
|
||||||
## Support FreeSewing: Become a patron 🥰
|
## Support FreeSewing: Become a patron 🥰
|
||||||
|
|
||||||
FreeSewing is an open source project run by a community,
|
FreeSewing is an open source project run by a community,
|
||||||
and financially supported by our patrons.
|
and financially supported by our patrons.
|
||||||
|
|
||||||
If you feel what we do is worthwhile, you too
|
If you feel what we do is worthwhile, and you can spend a few coind without
|
||||||
should [become a patron](https://freesewing.org/patrons/join).
|
hardship, then you should [join us and become a patron](https://freesewing.org/community/join).
|
||||||
|
|
||||||
## Links 👩💻
|
## Links 👩💻
|
||||||
|
|
||||||
- 💻 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)
|
||||||
- 💬 Chat: On Discord via [chat.freesewing.org](https://chat.freesewing.org/)
|
- 💬 Chat: On Discord via [chat.freesewing.org](https://chat.freesewing.org/)
|
||||||
|
- ✅ Todo list/Kanban board: On Github via [todo.freesewing.org](https://todo.freesewing.org/)
|
||||||
- 🐦 Twitter: [@freesewing_org](https://twitter.com/freesewing_org)
|
- 🐦 Twitter: [@freesewing_org](https://twitter.com/freesewing_org)
|
||||||
- 📷 Instagram: [@freesewing_org](https://instagram.com/freesewing_org)
|
- 📷 Instagram: [@freesewing_org](https://instagram.com/freesewing_org)
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@ import React from 'react'
|
||||||
import ReactDOM from 'react-dom'
|
import ReactDOM from 'react-dom'
|
||||||
import App from './App'
|
import App from './App'
|
||||||
import * as serviceWorker from './serviceWorker'
|
import * as serviceWorker from './serviceWorker'
|
||||||
|
import './layout.css'
|
||||||
|
|
||||||
ReactDOM.render(<App />, document.getElementById('root'))
|
ReactDOM.render(<App />, document.getElementById('root'))
|
||||||
|
|
||||||
|
|
235
packages/breanna/example/src/layout.css
Normal file
235
packages/breanna/example/src/layout.css
Normal file
|
@ -0,0 +1,235 @@
|
||||||
|
div.layout-wrapper {
|
||||||
|
width: 100%;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
background-color: red;
|
||||||
|
background: #f8f9fa;
|
||||||
|
background: linear-gradient(90deg, #f1f3f5 0%, #f1f3f5 25%, #f8f9fa 26%, #f8f9fa 100%); }
|
||||||
|
div.layout-wrapper div.layout {
|
||||||
|
display: flex;
|
||||||
|
max-width: 1600px;
|
||||||
|
margin: auto;
|
||||||
|
padding: 0;
|
||||||
|
flex-direction: row;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
justify-content: space-between;
|
||||||
|
background-color: #f8f9fa;
|
||||||
|
min-height: calc(100vh - 64px); }
|
||||||
|
div.layout-wrapper div.layout > aside {
|
||||||
|
width: 33%;
|
||||||
|
background: #f1f3f5;
|
||||||
|
border-right: 2px solid #dee2e6; }
|
||||||
|
div.layout-wrapper div.layout > section {
|
||||||
|
margin: 0;
|
||||||
|
padding: 1rem; }
|
||||||
|
div.layout-wrapper div.layout > section > div.content {
|
||||||
|
max-width: 66ch;
|
||||||
|
min-width: 340px; }
|
||||||
|
div.layout-wrapper div.layout > section > div.content.wide {
|
||||||
|
max-width: 100%;
|
||||||
|
margin: auto; }
|
||||||
|
|
||||||
|
.theme-wrapper.dark header {
|
||||||
|
background-color: #1a1d21; }
|
||||||
|
|
||||||
|
.theme-wrapper.dark div.layout-wrapper {
|
||||||
|
background: #f8f9fa;
|
||||||
|
background: linear-gradient(90deg, #1a1d21 0%, #1a1d21 25%, #212529 26%, #212529 100%); }
|
||||||
|
.theme-wrapper.dark div.layout-wrapper div.layout {
|
||||||
|
background-color: #212529; }
|
||||||
|
.theme-wrapper.dark div.layout-wrapper div.layout > aside {
|
||||||
|
background-color: #1a1d21;
|
||||||
|
border-right: 2px solid #343a40; }
|
||||||
|
|
||||||
|
header a svg {
|
||||||
|
color: #ced4da; }
|
||||||
|
|
||||||
|
header a:first-of-type svg {
|
||||||
|
color: #f8f9fa; }
|
||||||
|
|
||||||
|
header a:hover svg {
|
||||||
|
color: #b197fc; }
|
||||||
|
|
||||||
|
header a span,
|
||||||
|
header button span {
|
||||||
|
color: #ced4da; }
|
||||||
|
header a span svg,
|
||||||
|
header button span svg {
|
||||||
|
color: #dee2e6; }
|
||||||
|
|
||||||
|
header a:hover span,
|
||||||
|
header button:hover span {
|
||||||
|
color: #f8f9fa; }
|
||||||
|
header a:hover span svg,
|
||||||
|
header button:hover span svg {
|
||||||
|
color: #b197fc; }
|
||||||
|
|
||||||
|
header a,
|
||||||
|
header button {
|
||||||
|
padding: 0 1vw !important; }
|
||||||
|
|
||||||
|
/* monitor */
|
||||||
|
@media (min-width: 1200px) {
|
||||||
|
div.layout > section {
|
||||||
|
width: 63%; } }
|
||||||
|
|
||||||
|
/* slate */
|
||||||
|
@media (max-width: 1199px) and (min-width: 960px) {
|
||||||
|
div.layout > aside {
|
||||||
|
width: 298px; }
|
||||||
|
div.layout > section {
|
||||||
|
width: calc(100% - 300px - 4rem);
|
||||||
|
max-width: none;
|
||||||
|
margin: 0 1rem 0 3rem; } }
|
||||||
|
|
||||||
|
/* tablet */
|
||||||
|
@media (max-width: 959px) {
|
||||||
|
div.layout > aside {
|
||||||
|
width: 218px; }
|
||||||
|
div.layout > section {
|
||||||
|
width: calc(100% - 220px - 4rem);
|
||||||
|
max-width: none;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0 2rem; }
|
||||||
|
div.layout > section div.content {
|
||||||
|
min-width: inherit; } }
|
||||||
|
|
||||||
|
/* mobile */
|
||||||
|
@media (max-width: 599px) {
|
||||||
|
div.layout > aside {
|
||||||
|
display: none; }
|
||||||
|
div.layout > section {
|
||||||
|
width: calc(100%);
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 0 1.5rem;
|
||||||
|
max-width: none; } }
|
||||||
|
|
||||||
|
div.gatsby-highlight {
|
||||||
|
margin-bottom: 1rem; }
|
||||||
|
|
||||||
|
@media (max-width: 599px) {
|
||||||
|
#mobile-menu {
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100vh;
|
||||||
|
padding: 0 0 1rem;
|
||||||
|
max-width: 600px;
|
||||||
|
z-index: -10;
|
||||||
|
transition: opacity 0.25s ease 0s;
|
||||||
|
opacity: 0;
|
||||||
|
overflow: scroll; }
|
||||||
|
#mobile-menu > ul,
|
||||||
|
#mobile-menu > div {
|
||||||
|
transform: translate(0px, 10px);
|
||||||
|
transition: transform 0.25s ease 0s; }
|
||||||
|
.theme-wrapper.show-menu #mobile-menu {
|
||||||
|
opacity: 1;
|
||||||
|
z-index: 10; }
|
||||||
|
.theme-wrapper.show-menu #mobile-menu > div {
|
||||||
|
transform: translate(0px, 0px); } }
|
||||||
|
|
||||||
|
.theme-wrapper.light div.draft-ui-menu,
|
||||||
|
.theme-wrapper.light div.menu {
|
||||||
|
background: #f1f3f5; }
|
||||||
|
|
||||||
|
.theme-wrapper.dark div.draft-ui-menu,
|
||||||
|
.theme-wrapper.dark div.menu {
|
||||||
|
background: #343a40; }
|
||||||
|
|
||||||
|
.theme-wrapper.show-menu div.menu {
|
||||||
|
opacity: 1;
|
||||||
|
z-index: 10; }
|
||||||
|
.theme-wrapper.show-menu div.menu > div {
|
||||||
|
transform: translate(0px, 0px); }
|
||||||
|
|
||||||
|
div.spaced-buttons > button {
|
||||||
|
margin: 0 0.5rem 0.5rem 0; }
|
||||||
|
|
||||||
|
div.spaced > * {
|
||||||
|
margin: 0 0.5rem 0.5rem 0; }
|
||||||
|
|
||||||
|
ul#pre-main-menu {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0; }
|
||||||
|
|
||||||
|
.boldish {
|
||||||
|
font-weight: 500; }
|
||||||
|
|
||||||
|
.freesewing.draft {
|
||||||
|
padding: 1rem; }
|
||||||
|
|
||||||
|
li.action {
|
||||||
|
clear: both; }
|
||||||
|
|
||||||
|
li.action span.MuiSwitch-root {
|
||||||
|
float: right; }
|
||||||
|
|
||||||
|
.theme-wrapper.light ul#draft-config li.action.toggle.off,
|
||||||
|
.theme-wrapper.dark ul#draft-config li.action.toggle.off {
|
||||||
|
color: #868e96; }
|
||||||
|
.theme-wrapper.light ul#draft-config li.action.toggle.off > span svg,
|
||||||
|
.theme-wrapper.dark ul#draft-config li.action.toggle.off > span svg {
|
||||||
|
color: #868e96; }
|
||||||
|
|
||||||
|
footer {
|
||||||
|
background-color: #1a1d21;
|
||||||
|
color: #adb5bd;
|
||||||
|
padding: 3rem 0 6rem; }
|
||||||
|
footer a {
|
||||||
|
color: #dee2e6 !important;
|
||||||
|
font-weight: 400; }
|
||||||
|
footer a:hover {
|
||||||
|
color: #d0bfff !important; }
|
||||||
|
footer div.cols {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: space-between;
|
||||||
|
max-width: 1600px;
|
||||||
|
margin: auto;
|
||||||
|
padding: 0 1.5rem; }
|
||||||
|
footer div.cols > div {
|
||||||
|
min-width: 150px;
|
||||||
|
max-width: calc(20% - 4rem);
|
||||||
|
padding: 0 2rem 0 0;
|
||||||
|
width: 100%; }
|
||||||
|
footer ul {
|
||||||
|
text-align: left;
|
||||||
|
font-size: 1.1rem;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
width: 100%; }
|
||||||
|
footer ul li:first-of-type {
|
||||||
|
padding: 0.35rem 0.75rem; }
|
||||||
|
footer ul li {
|
||||||
|
display: block; }
|
||||||
|
footer ul li a:hover {
|
||||||
|
text-decoration: none !important; }
|
||||||
|
footer ul li.heading {
|
||||||
|
font-weight: bold;
|
||||||
|
border-bottom: 3px solid #adb5bd;
|
||||||
|
margin-bottom: 0.5rem; }
|
||||||
|
|
||||||
|
/* XL screens */
|
||||||
|
@media (min-width: 1200px) {
|
||||||
|
footer div.cols > div:last-of-type {
|
||||||
|
min-width: 350px; } }
|
||||||
|
|
||||||
|
/* SM screens */
|
||||||
|
@media (min-width: 600px) and (max-width: 959px) {
|
||||||
|
footer div.cols {
|
||||||
|
flex-wrap: wrap; }
|
||||||
|
footer div.cols > div {
|
||||||
|
width: calc(30% - 4rem);
|
||||||
|
padding: 0 1rem; } }
|
||||||
|
|
||||||
|
/* XS screens */
|
||||||
|
@media (max-width: 599px) {
|
||||||
|
footer div.cols {
|
||||||
|
display: block; }
|
||||||
|
footer div.cols > div {
|
||||||
|
margin: 2rem auto 0;
|
||||||
|
max-width: calc(100% - 4rem); }
|
||||||
|
footer div.cols > div:first-of-type {
|
||||||
|
margin-top: 0; } }
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@freesewing/breanna",
|
"name": "@freesewing/breanna",
|
||||||
"version": "2.12.1",
|
"version": "2.14.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@decock.org> (https://github.com/joostdecock)",
|
"author": "Joost De Cock <joost@decock.org> (https://github.com/joostdecock)",
|
||||||
"homepage": "https://freesewing.org/",
|
"homepage": "https://freesewing.org/",
|
||||||
|
@ -34,9 +34,9 @@
|
||||||
"testci": "BABEL_ENV=production ./node_modules/.bin/_mocha tests/*.test.js --require @babel/register"
|
"testci": "BABEL_ENV=production ./node_modules/.bin/_mocha tests/*.test.js --require @babel/register"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@freesewing/core": "^2.12.1",
|
"@freesewing/core": "^2.14.0",
|
||||||
"@freesewing/plugin-bundle": "^2.12.1",
|
"@freesewing/plugin-bundle": "^2.14.0",
|
||||||
"@freesewing/brian": "^2.12.1"
|
"@freesewing/brian": "^2.14.0"
|
||||||
},
|
},
|
||||||
"dependencies": {},
|
"dependencies": {},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
@ -47,14 +47,14 @@
|
||||||
"eslint": "^7.6.0",
|
"eslint": "^7.6.0",
|
||||||
"babel-jest": "^26.2.2",
|
"babel-jest": "^26.2.2",
|
||||||
"jest": "26.2.2",
|
"jest": "26.2.2",
|
||||||
"@freesewing/components": "^2.12.1",
|
"@freesewing/components": "^2.14.0",
|
||||||
"@freesewing/css-theme": "^2.12.1",
|
"@freesewing/css-theme": "^2.14.0",
|
||||||
"@freesewing/i18n": "^2.12.1",
|
"@freesewing/i18n": "^2.14.0",
|
||||||
"@freesewing/mui-theme": "^2.12.1",
|
"@freesewing/mui-theme": "^2.14.0",
|
||||||
"@freesewing/plugin-bust": "^2.12.1",
|
"@freesewing/plugin-bust": "^2.14.0",
|
||||||
"@freesewing/plugin-buttons": "^2.12.1",
|
"@freesewing/plugin-buttons": "^2.14.0",
|
||||||
"@freesewing/plugin-flip": "^2.12.1",
|
"@freesewing/plugin-flip": "^2.14.0",
|
||||||
"@freesewing/utils": "^2.12.1",
|
"@freesewing/utils": "^2.14.0",
|
||||||
"@svgr/rollup": "^2.4.1",
|
"@svgr/rollup": "^2.4.1",
|
||||||
"cross-env": "^7.0.2",
|
"cross-env": "^7.0.2",
|
||||||
"react-scripts": "^3.4.1",
|
"react-scripts": "^3.4.1",
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
export default part => {
|
export default (part) => {
|
||||||
let {
|
let {
|
||||||
sa,
|
sa,
|
||||||
points,
|
points,
|
||||||
|
@ -91,10 +91,7 @@ export default part => {
|
||||||
|
|
||||||
// Insert darts
|
// Insert darts
|
||||||
if (options.waistDart) {
|
if (options.waistDart) {
|
||||||
let dart = new Path()
|
let dart = new Path().line(points.waistDart1).line(points.waistDartTip).line(points.waistDart2)
|
||||||
.line(points.waistDart1)
|
|
||||||
.line(points.waistDartTip)
|
|
||||||
.line(points.waistDart2)
|
|
||||||
paths.seam = paths.seam.insop('waistDart', dart)
|
paths.seam = paths.seam.insop('waistDart', dart)
|
||||||
let saDart = new Path()
|
let saDart = new Path()
|
||||||
.line(points.waistDart1)
|
.line(points.waistDart1)
|
||||||
|
@ -165,10 +162,7 @@ export default part => {
|
||||||
store.set('backSideSeamLength', points.armhole.dist(points.waist))
|
store.set('backSideSeamLength', points.armhole.dist(points.waist))
|
||||||
store.set(
|
store.set(
|
||||||
'backCollarLength',
|
'backCollarLength',
|
||||||
new Path()
|
new Path().move(points.cbNeck)._curve(points.hpsCp2, points.hps).length() * 2
|
||||||
.move(points.cbNeck)
|
|
||||||
._curve(points.hpsCp2, points.hps)
|
|
||||||
.length() * 2
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// Anchor point
|
// Anchor point
|
||||||
|
@ -230,6 +224,7 @@ export default part => {
|
||||||
x: points.waistDart2.x + 15
|
x: points.waistDart2.x + 15
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
|
let y = points.waist.y + 15 + sa
|
||||||
macro('hd', {
|
macro('hd', {
|
||||||
from: points.cbWaist,
|
from: points.cbWaist,
|
||||||
to: points.waist,
|
to: points.waist,
|
||||||
|
|
|
@ -46,7 +46,7 @@ export const getDartInsertionPoint = (points, utils, loc, angle) => {
|
||||||
}
|
}
|
||||||
|
|
||||||
// What points need to be rotated after cutting the primary bust dart
|
// What points need to be rotated after cutting the primary bust dart
|
||||||
export const getPrimaryDartRotationList = loc => {
|
export const getPrimaryDartRotationList = (loc) => {
|
||||||
let rotate = ['cfWaist']
|
let rotate = ['cfWaist']
|
||||||
if (loc >= 1100) rotate.push('cfNeck')
|
if (loc >= 1100) rotate.push('cfNeck')
|
||||||
if (loc >= 1130) rotate.push('hpsCp2')
|
if (loc >= 1130) rotate.push('hpsCp2')
|
||||||
|
@ -74,7 +74,7 @@ export const getSecondaryDartRotationList = (loc1, loc2) => {
|
||||||
return rotate
|
return rotate
|
||||||
}
|
}
|
||||||
|
|
||||||
export const getDartLocationsAsNumbers = options => {
|
export const getDartLocationsAsNumbers = (options) => {
|
||||||
let loc1 = options.primaryBustDart
|
let loc1 = options.primaryBustDart
|
||||||
let loc2 = options.secondaryBustDart
|
let loc2 = options.secondaryBustDart
|
||||||
loc1 = Number(loc1.slice(0, 2) + loc1.slice(-2))
|
loc1 = Number(loc1.slice(0, 2) + loc1.slice(-2))
|
||||||
|
|
|
@ -78,14 +78,20 @@ export default (part) => {
|
||||||
// Angle from bustpoint towards armhole and armholePitch
|
// Angle from bustpoint towards armhole and armholePitch
|
||||||
let angle1 = points.bustPoint.angle(points.armhole)
|
let angle1 = points.bustPoint.angle(points.armhole)
|
||||||
let angle2 = points.bustPoint.angle(points.armholePitch)
|
let angle2 = points.bustPoint.angle(points.armholePitch)
|
||||||
|
let isectStart = points.bustPoint.shift(
|
||||||
|
angle1 + (angle2 - angle1) / 2,
|
||||||
|
measurements.highBustFront * 6.66
|
||||||
|
)
|
||||||
|
let isectEnd = isectStart.shiftFractionTowards(points.bustPoint, 2)
|
||||||
points.scyeDart1 = utils.lineIntersectsCurve(
|
points.scyeDart1 = utils.lineIntersectsCurve(
|
||||||
points.bustPoint,
|
isectStart,
|
||||||
points.bustPoint.shift(angle1 + (angle2 - angle1) / 2, measurements.highBustFront * 0.666),
|
isectEnd,
|
||||||
points.armhole,
|
points.armhole,
|
||||||
points.armholeCp2,
|
points.armholeCp2,
|
||||||
points.armholePitchCp1,
|
points.armholePitchCp1,
|
||||||
points.armholePitch
|
points.armholePitch
|
||||||
)
|
)
|
||||||
|
|
||||||
// How much should this dart be?
|
// How much should this dart be?
|
||||||
let scyeDartWidth =
|
let scyeDartWidth =
|
||||||
(measurements.bustFront - measurements.highBustFront) * options.frontScyeDart
|
(measurements.bustFront - measurements.highBustFront) * options.frontScyeDart
|
||||||
|
@ -103,7 +109,6 @@ export default (part) => {
|
||||||
points.bustPoint
|
points.bustPoint
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Store bust dart angle and armhole length
|
// Store bust dart angle and armhole length
|
||||||
store.set(
|
store.set(
|
||||||
'bustDartAngle',
|
'bustDartAngle',
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
export default part => {
|
export default (part) => {
|
||||||
let { points, Path, store } = part.shorthand()
|
let { points, Path, store } = part.shorthand()
|
||||||
|
|
||||||
switch (store.get('secondaryBustDartLocation')) {
|
switch (store.get('secondaryBustDartLocation')) {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
export default part => {
|
export default (part) => {
|
||||||
let { points, Path, store } = part.shorthand()
|
let { points, Path, store } = part.shorthand()
|
||||||
|
|
||||||
switch (store.get('secondaryBustDartLocation')) {
|
switch (store.get('secondaryBustDartLocation')) {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
export default part => {
|
export default (part) => {
|
||||||
let { points, Path, store } = part.shorthand()
|
let { points, Path, store } = part.shorthand()
|
||||||
|
|
||||||
switch (store.get('secondaryBustDartLocation')) {
|
switch (store.get('secondaryBustDartLocation')) {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
export default part => {
|
export default (part) => {
|
||||||
let { points, Path, store } = part.shorthand()
|
let { points, Path, store } = part.shorthand()
|
||||||
|
|
||||||
switch (store.get('secondaryBustDartLocation')) {
|
switch (store.get('secondaryBustDartLocation')) {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
export default part => {
|
export default (part) => {
|
||||||
let { points, Path, store } = part.shorthand()
|
let { points, Path, store } = part.shorthand()
|
||||||
|
|
||||||
switch (store.get('secondaryBustDartLocation')) {
|
switch (store.get('secondaryBustDartLocation')) {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
export default part => {
|
export default (part) => {
|
||||||
let { points, Path, store } = part.shorthand()
|
let { points, Path, store } = part.shorthand()
|
||||||
|
|
||||||
switch (store.get('secondaryBustDartLocation')) {
|
switch (store.get('secondaryBustDartLocation')) {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
export default part => {
|
export default (part) => {
|
||||||
let { points, Path, store } = part.shorthand()
|
let { points, Path, store } = part.shorthand()
|
||||||
|
|
||||||
switch (store.get('secondaryBustDartLocation')) {
|
switch (store.get('secondaryBustDartLocation')) {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
export default part => {
|
export default (part) => {
|
||||||
let { points, Path, store } = part.shorthand()
|
let { points, Path, store } = part.shorthand()
|
||||||
|
|
||||||
switch (store.get('secondaryBustDartLocation')) {
|
switch (store.get('secondaryBustDartLocation')) {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
export default part => {
|
export default (part) => {
|
||||||
let { points, Path, store } = part.shorthand()
|
let { points, Path, store } = part.shorthand()
|
||||||
|
|
||||||
switch (store.get('secondaryBustDartLocation')) {
|
switch (store.get('secondaryBustDartLocation')) {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
export default part => {
|
export default (part) => {
|
||||||
let { points, Path, store } = part.shorthand()
|
let { points, Path, store } = part.shorthand()
|
||||||
|
|
||||||
switch (store.get('primaryBustDartLocation')) {
|
switch (store.get('primaryBustDartLocation')) {
|
||||||
|
|
|
@ -18,7 +18,7 @@ import {
|
||||||
getSaDartPaths
|
getSaDartPaths
|
||||||
} from './dart-utils'
|
} from './dart-utils'
|
||||||
|
|
||||||
export default part => {
|
export default (part) => {
|
||||||
let {
|
let {
|
||||||
options,
|
options,
|
||||||
store,
|
store,
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||

|

|
||||||
<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"
|
||||||
|
@ -19,6 +19,11 @@
|
||||||
title="Open issues tagged pkg:brian"
|
title="Open issues tagged pkg:brian"
|
||||||
><img src="https://img.shields.io/github/issues/freesewing/freesewing/pkg:brian.svg?label=Issues"
|
><img src="https://img.shields.io/github/issues/freesewing/freesewing/pkg:brian.svg?label=Issues"
|
||||||
alt="Open issues tagged pkg:brian"/>
|
alt="Open issues tagged pkg:brian"/>
|
||||||
|
</a><a
|
||||||
|
href="https://todo.freesewing.org/"
|
||||||
|
title="Project board"
|
||||||
|
><img src="https://img.shields.io/badge/%F3%A0%80%A0-Project%20board-9775fa.svg?logo=github&logoColor=white&logoWidth=15"
|
||||||
|
alt="Project board"/>
|
||||||
</a></p><p align='center'><a
|
</a></p><p align='center'><a
|
||||||
href="https://twitter.com/freesewing_org"
|
href="https://twitter.com/freesewing_org"
|
||||||
title="Follow @freesewing_org on Twitter"
|
title="Follow @freesewing_org on Twitter"
|
||||||
|
@ -41,49 +46,62 @@
|
||||||
alt="Follow @freesewing_org on Twitter"/>
|
alt="Follow @freesewing_org on Twitter"/>
|
||||||
</a></p>
|
</a></p>
|
||||||
|
|
||||||
## What am I looking at? 🤔
|
# @freesewing/brian
|
||||||
|
|
||||||
This repository is our *monorepo* holding [all our NPM packages](https://www.npmjs.com/search?q=keywords:freesewing).
|
|
||||||
This folder holds **@freesewing/brian**
|
|
||||||
|
|
||||||
A FreeSewing pattern for a basic body block for menswear
|
A FreeSewing pattern for a basic body block for menswear
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## What am I looking at? 🤔
|
||||||
|
|
||||||
|
This repository is our *monorepo*
|
||||||
|
holding [all our NPM packages](https://freesewing.dev/reference/packages/).
|
||||||
|
|
||||||
|
This folder holds: @freesewing/brian
|
||||||
|
|
||||||
## 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.
|
||||||
|
|
||||||
|
If you're a maker, checkout [freesewing.org](https://freesewing.org/) where you can generate
|
||||||
|
our sewing patterns adapted to your measurements.
|
||||||
|
|
||||||
|
If you're a developer, our documentation is on [freesewing.dev](https://freesewing.dev/).
|
||||||
Our [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox
|
Our [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox
|
||||||
for parametric design of sewing patterns. It's a modular system (check our list
|
for parametric design of sewing patterns. But we also provide a range
|
||||||
of [plugins](https://freesewing.dev/reference/plugins/) and getting started is as simple as:
|
of [plugins](https://freesewing.dev/reference/plugins/) that further extend the
|
||||||
|
functionality of the platform.
|
||||||
|
|
||||||
|
If you have NodeJS installed, you can try it right now by running:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
npm init freesewing-pattern
|
npx create-freesewing-pattern
|
||||||
```
|
```
|
||||||
|
|
||||||
The [getting started](https://freesewing.dev/guides/getting-started/) section on [freesewing.dev](https://freesewing.dev/) is a good
|
Or, consult our getting started guides
|
||||||
entrypoint to our documentation, but you'll find a lot more there, including
|
for [Linux](https://freesewing.dev/tutorials/getting-started-linux/),
|
||||||
our [API reference](https://freesewing.dev/reference/api/),
|
[MacOS](https://freesewing.dev/tutorials/getting-started-mac/),
|
||||||
as well as [our turorial](https://freesewing.dev/tutorials/pattern-design/),
|
or [Windows](https://freesewing.dev/tutorials/getting-started-windows/).
|
||||||
and [howtos](https://freesewing.dev/howtos/).
|
|
||||||
|
|
||||||
If you're a maker, checkout [freesewing.org](https://freesewing/) where you can generate
|
We also have a [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) that
|
||||||
our sewing patterns adapted to your measurements.
|
walks you through your first parametric design,
|
||||||
|
and [a friendly community](https://freesewing.org/community/where/) with
|
||||||
|
people who can help you when you get stuck.
|
||||||
|
|
||||||
## Support FreeSewing: Become a patron 🥰
|
## Support FreeSewing: Become a patron 🥰
|
||||||
|
|
||||||
FreeSewing is an open source project run by a community,
|
FreeSewing is an open source project run by a community,
|
||||||
and financially supported by our patrons.
|
and financially supported by our patrons.
|
||||||
|
|
||||||
If you feel what we do is worthwhile, you too
|
If you feel what we do is worthwhile, and you can spend a few coind without
|
||||||
should [become a patron](https://freesewing.org/patrons/join).
|
hardship, then you should [join us and become a patron](https://freesewing.org/community/join).
|
||||||
|
|
||||||
## Links 👩💻
|
## Links 👩💻
|
||||||
|
|
||||||
- 💻 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)
|
||||||
- 💬 Chat: On Discord via [chat.freesewing.org](https://chat.freesewing.org/)
|
- 💬 Chat: On Discord via [chat.freesewing.org](https://chat.freesewing.org/)
|
||||||
|
- ✅ Todo list/Kanban board: On Github via [todo.freesewing.org](https://todo.freesewing.org/)
|
||||||
- 🐦 Twitter: [@freesewing_org](https://twitter.com/freesewing_org)
|
- 🐦 Twitter: [@freesewing_org](https://twitter.com/freesewing_org)
|
||||||
- 📷 Instagram: [@freesewing_org](https://instagram.com/freesewing_org)
|
- 📷 Instagram: [@freesewing_org](https://instagram.com/freesewing_org)
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@ import React from 'react'
|
||||||
import ReactDOM from 'react-dom'
|
import ReactDOM from 'react-dom'
|
||||||
import App from './App'
|
import App from './App'
|
||||||
import * as serviceWorker from './serviceWorker'
|
import * as serviceWorker from './serviceWorker'
|
||||||
|
import './layout.css'
|
||||||
|
|
||||||
ReactDOM.render(<App />, document.getElementById('root'))
|
ReactDOM.render(<App />, document.getElementById('root'))
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@freesewing/brian",
|
"name": "@freesewing/brian",
|
||||||
"version": "2.12.1",
|
"version": "2.14.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@decock.org> (https://github.com/joostdecock)",
|
"author": "Joost De Cock <joost@decock.org> (https://github.com/joostdecock)",
|
||||||
"homepage": "https://freesewing.org/",
|
"homepage": "https://freesewing.org/",
|
||||||
|
@ -34,8 +34,8 @@
|
||||||
"testci": "BABEL_ENV=production ./node_modules/.bin/_mocha tests/*.test.js --require @babel/register"
|
"testci": "BABEL_ENV=production ./node_modules/.bin/_mocha tests/*.test.js --require @babel/register"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@freesewing/core": "^2.12.1",
|
"@freesewing/core": "^2.14.0",
|
||||||
"@freesewing/plugin-bundle": "^2.12.1"
|
"@freesewing/plugin-bundle": "^2.14.0"
|
||||||
},
|
},
|
||||||
"dependencies": {},
|
"dependencies": {},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
@ -46,14 +46,14 @@
|
||||||
"eslint": "^7.6.0",
|
"eslint": "^7.6.0",
|
||||||
"babel-jest": "^26.2.2",
|
"babel-jest": "^26.2.2",
|
||||||
"jest": "26.2.2",
|
"jest": "26.2.2",
|
||||||
"@freesewing/components": "^2.12.1",
|
"@freesewing/components": "^2.14.0",
|
||||||
"@freesewing/css-theme": "^2.12.1",
|
"@freesewing/css-theme": "^2.14.0",
|
||||||
"@freesewing/i18n": "^2.12.1",
|
"@freesewing/i18n": "^2.14.0",
|
||||||
"@freesewing/mui-theme": "^2.12.1",
|
"@freesewing/mui-theme": "^2.14.0",
|
||||||
"@freesewing/plugin-bust": "^2.12.1",
|
"@freesewing/plugin-bust": "^2.14.0",
|
||||||
"@freesewing/plugin-buttons": "^2.12.1",
|
"@freesewing/plugin-buttons": "^2.14.0",
|
||||||
"@freesewing/plugin-flip": "^2.12.1",
|
"@freesewing/plugin-flip": "^2.14.0",
|
||||||
"@freesewing/utils": "^2.12.1",
|
"@freesewing/utils": "^2.14.0",
|
||||||
"@svgr/rollup": "^2.4.1",
|
"@svgr/rollup": "^2.4.1",
|
||||||
"cross-env": "^7.0.2",
|
"cross-env": "^7.0.2",
|
||||||
"react-scripts": "^3.4.1",
|
"react-scripts": "^3.4.1",
|
||||||
|
|
|
@ -39,10 +39,7 @@ export default (part) => {
|
||||||
|
|
||||||
macro('title', { at: points.title, nr: 2, title: 'back' })
|
macro('title', { at: points.title, nr: 2, title: 'back' })
|
||||||
snippets.armholePitchNotch = new Snippet('bnotch', points.armholePitch)
|
snippets.armholePitchNotch = new Snippet('bnotch', points.armholePitch)
|
||||||
paths.waist = new Path()
|
paths.waist = new Path().move(points.cbWaist).line(points.waist).attr('class', 'help')
|
||||||
.move(points.cbWaist)
|
|
||||||
.line(points.waist)
|
|
||||||
.attr('class', 'help')
|
|
||||||
if (sa) {
|
if (sa) {
|
||||||
paths.sa = paths.saBase
|
paths.sa = paths.saBase
|
||||||
.offset(sa)
|
.offset(sa)
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue