Merge branch 'develop' into i18n
This commit is contained in:
commit
a0cd94622c
578 changed files with 15495 additions and 15754 deletions
3
.github/workflows/tests.aaron.yml
vendored
3
.github/workflows/tests.aaron.yml
vendored
|
@ -4,7 +4,6 @@ on: [push]
|
|||
|
||||
jobs:
|
||||
test:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
|
@ -23,7 +22,7 @@ jobs:
|
|||
env:
|
||||
CI: true
|
||||
- name: Install peer & test dependencies
|
||||
run: cd packages/aaron && npm install @freesewing/core @freesewing/plugin-bundle @freesewing/brian @freesewing/models @freesewing/pattern-info mocha chai
|
||||
run: 'cd packages/aaron && npm install @freesewing/core@^2.7.2 @freesewing/plugin-bundle@^2.7.2 @freesewing/brian@^2.7.2 @freesewing/models@2.7.2 @freesewing/pattern-info@2.7.2 mocha chai'
|
||||
env:
|
||||
CI: true
|
||||
- name: Build pattern
|
||||
|
|
3
.github/workflows/tests.benjamin.yml
vendored
3
.github/workflows/tests.benjamin.yml
vendored
|
@ -4,7 +4,6 @@ on: [push]
|
|||
|
||||
jobs:
|
||||
test:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
|
@ -23,7 +22,7 @@ jobs:
|
|||
env:
|
||||
CI: true
|
||||
- name: Install peer & test dependencies
|
||||
run: cd packages/benjamin && npm install @freesewing/core @freesewing/plugin-bundle @freesewing/models @freesewing/pattern-info mocha chai
|
||||
run: 'cd packages/benjamin && npm install @freesewing/core@^2.7.2 @freesewing/plugin-bundle@^2.7.2 @freesewing/models@2.7.2 @freesewing/pattern-info@2.7.2 mocha chai'
|
||||
env:
|
||||
CI: true
|
||||
- name: Build pattern
|
||||
|
|
3
.github/workflows/tests.bent.yml
vendored
3
.github/workflows/tests.bent.yml
vendored
|
@ -4,7 +4,6 @@ on: [push]
|
|||
|
||||
jobs:
|
||||
test:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
|
@ -23,7 +22,7 @@ jobs:
|
|||
env:
|
||||
CI: true
|
||||
- name: Install peer & test dependencies
|
||||
run: cd packages/bent && npm install @freesewing/core @freesewing/plugin-bundle @freesewing/brian @freesewing/models @freesewing/pattern-info mocha chai
|
||||
run: 'cd packages/bent && npm install @freesewing/core@^2.7.2 @freesewing/plugin-bundle@^2.7.2 @freesewing/brian@^2.7.2 @freesewing/models@2.7.2 @freesewing/pattern-info@2.7.2 mocha chai'
|
||||
env:
|
||||
CI: true
|
||||
- name: Build pattern
|
||||
|
|
3
.github/workflows/tests.breanna.yml
vendored
3
.github/workflows/tests.breanna.yml
vendored
|
@ -4,7 +4,6 @@ on: [push]
|
|||
|
||||
jobs:
|
||||
test:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
|
@ -23,7 +22,7 @@ jobs:
|
|||
env:
|
||||
CI: true
|
||||
- name: Install peer & test dependencies
|
||||
run: cd packages/breanna && npm install @freesewing/core @freesewing/plugin-bundle @freesewing/brian @freesewing/models @freesewing/pattern-info mocha chai
|
||||
run: 'cd packages/breanna && npm install @freesewing/core@^2.7.2 @freesewing/plugin-bundle@^2.7.2 @freesewing/brian@^2.7.2 @freesewing/models@2.7.2 @freesewing/pattern-info@2.7.2 mocha chai'
|
||||
env:
|
||||
CI: true
|
||||
- name: Build pattern
|
||||
|
|
3
.github/workflows/tests.brian.yml
vendored
3
.github/workflows/tests.brian.yml
vendored
|
@ -4,7 +4,6 @@ on: [push]
|
|||
|
||||
jobs:
|
||||
test:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
|
@ -23,7 +22,7 @@ jobs:
|
|||
env:
|
||||
CI: true
|
||||
- name: Install peer & test dependencies
|
||||
run: cd packages/brian && npm install @freesewing/core @freesewing/plugin-bundle @freesewing/models @freesewing/pattern-info mocha chai
|
||||
run: 'cd packages/brian && npm install @freesewing/core@^2.7.2 @freesewing/plugin-bundle@^2.7.2 @freesewing/models@2.7.2 @freesewing/pattern-info@2.7.2 mocha chai'
|
||||
env:
|
||||
CI: true
|
||||
- name: Build pattern
|
||||
|
|
3
.github/workflows/tests.bruce.yml
vendored
3
.github/workflows/tests.bruce.yml
vendored
|
@ -4,7 +4,6 @@ on: [push]
|
|||
|
||||
jobs:
|
||||
test:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
|
@ -23,7 +22,7 @@ jobs:
|
|||
env:
|
||||
CI: true
|
||||
- name: Install peer & test dependencies
|
||||
run: cd packages/bruce && npm install @freesewing/core @freesewing/plugin-bundle @freesewing/models @freesewing/pattern-info mocha chai
|
||||
run: 'cd packages/bruce && npm install @freesewing/core@^2.7.2 @freesewing/plugin-bundle@^2.7.2 @freesewing/models@2.7.2 @freesewing/pattern-info@2.7.2 mocha chai'
|
||||
env:
|
||||
CI: true
|
||||
- name: Build pattern
|
||||
|
|
3
.github/workflows/tests.carlita.yml
vendored
3
.github/workflows/tests.carlita.yml
vendored
|
@ -4,7 +4,6 @@ on: [push]
|
|||
|
||||
jobs:
|
||||
test:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
|
@ -23,7 +22,7 @@ jobs:
|
|||
env:
|
||||
CI: true
|
||||
- name: Install peer & test dependencies
|
||||
run: cd packages/carlita && npm install @freesewing/core @freesewing/plugin-bundle @freesewing/brian @freesewing/bent @freesewing/carlton @freesewing/plugin-bust @freesewing/plugin-buttons @freesewing/models @freesewing/pattern-info mocha chai
|
||||
run: 'cd packages/carlita && npm install @freesewing/core@^2.7.2 @freesewing/plugin-bundle@^2.7.2 @freesewing/brian@^2.7.2 @freesewing/bent@^2.7.2 @freesewing/carlton@^2.7.2 @freesewing/plugin-bust@^2.7.2 @freesewing/plugin-buttons@^2.7.2 @freesewing/models@2.7.2 @freesewing/pattern-info@2.7.2 mocha chai'
|
||||
env:
|
||||
CI: true
|
||||
- name: Build pattern
|
||||
|
|
3
.github/workflows/tests.carlton.yml
vendored
3
.github/workflows/tests.carlton.yml
vendored
|
@ -4,7 +4,6 @@ on: [push]
|
|||
|
||||
jobs:
|
||||
test:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
|
@ -23,7 +22,7 @@ jobs:
|
|||
env:
|
||||
CI: true
|
||||
- name: Install peer & test dependencies
|
||||
run: cd packages/carlton && npm install @freesewing/core @freesewing/plugin-bundle @freesewing/brian @freesewing/bent @freesewing/plugin-buttons @freesewing/models @freesewing/pattern-info mocha chai
|
||||
run: 'cd packages/carlton && npm install @freesewing/core@^2.7.2 @freesewing/plugin-bundle@^2.7.2 @freesewing/brian@^2.7.2 @freesewing/bent@^2.7.2 @freesewing/plugin-buttons@^2.7.2 @freesewing/models@2.7.2 @freesewing/pattern-info@2.7.2 mocha chai'
|
||||
env:
|
||||
CI: true
|
||||
- name: Build pattern
|
||||
|
|
3
.github/workflows/tests.cathrin.yml
vendored
3
.github/workflows/tests.cathrin.yml
vendored
|
@ -4,7 +4,6 @@ on: [push]
|
|||
|
||||
jobs:
|
||||
test:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
|
@ -23,7 +22,7 @@ jobs:
|
|||
env:
|
||||
CI: true
|
||||
- name: Install peer & test dependencies
|
||||
run: cd packages/cathrin && npm install @freesewing/core @freesewing/plugin-bundle @freesewing/models @freesewing/pattern-info mocha chai
|
||||
run: 'cd packages/cathrin && npm install @freesewing/core@^2.7.2 @freesewing/plugin-bundle@^2.7.2 @freesewing/models@2.7.2 @freesewing/pattern-info@2.7.2 mocha chai'
|
||||
env:
|
||||
CI: true
|
||||
- name: Build pattern
|
||||
|
|
3
.github/workflows/tests.diana.yml
vendored
3
.github/workflows/tests.diana.yml
vendored
|
@ -4,7 +4,6 @@ on: [push]
|
|||
|
||||
jobs:
|
||||
test:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
|
@ -23,7 +22,7 @@ jobs:
|
|||
env:
|
||||
CI: true
|
||||
- name: Install peer & test dependencies
|
||||
run: cd packages/diana && npm install @freesewing/core @freesewing/plugin-bundle @freesewing/brian @freesewing/models @freesewing/pattern-info mocha chai
|
||||
run: 'cd packages/diana && npm install @freesewing/core@^2.7.2 @freesewing/plugin-bundle@^2.7.2 @freesewing/brian@^2.7.2 @freesewing/models@2.7.2 @freesewing/pattern-info@2.7.2 mocha chai'
|
||||
env:
|
||||
CI: true
|
||||
- name: Build pattern
|
||||
|
|
3
.github/workflows/tests.examples.yml
vendored
3
.github/workflows/tests.examples.yml
vendored
|
@ -4,7 +4,6 @@ on: [push]
|
|||
|
||||
jobs:
|
||||
test:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
|
@ -23,7 +22,7 @@ jobs:
|
|||
env:
|
||||
CI: true
|
||||
- name: Install peer & test dependencies
|
||||
run: cd packages/examples && npm install @freesewing/core @freesewing/plugin-bundle @freesewing/models @freesewing/pattern-info mocha chai
|
||||
run: 'cd packages/examples && npm install @freesewing/core@^2.7.2 @freesewing/plugin-bundle@^2.7.2 @freesewing/models@2.7.2 @freesewing/pattern-info@2.7.2 mocha chai'
|
||||
env:
|
||||
CI: true
|
||||
- name: Build pattern
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
name: Unit tests - Fu
|
||||
name: Unit tests - Florence
|
||||
|
||||
on: [push]
|
||||
|
||||
jobs:
|
||||
test:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
|
@ -19,14 +18,14 @@ jobs:
|
|||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
- name: Install dependencies
|
||||
run: cd packages/fu && npm install
|
||||
run: cd packages/florence && npm install
|
||||
env:
|
||||
CI: true
|
||||
- name: Install peer & test dependencies
|
||||
run: cd packages/fu && npm install @freesewing/core @freesewing/plugin-bundle @freesewing/models @freesewing/pattern-info mocha chai
|
||||
run: 'cd packages/florence && npm install @freesewing/core@^2.7.2 @freesewing/plugin-bundle@^2.7.2 @freesewing/models@2.7.2 @freesewing/pattern-info@2.7.2 mocha chai'
|
||||
env:
|
||||
CI: true
|
||||
- name: Build pattern
|
||||
run: cd packages/fu && npm run build
|
||||
run: cd packages/florence && npm run build
|
||||
- name: Run pattern unit tests
|
||||
run: cd packages/fu && npm run testci
|
||||
run: cd packages/florence && npm run testci
|
3
.github/workflows/tests.florent.yml
vendored
3
.github/workflows/tests.florent.yml
vendored
|
@ -4,7 +4,6 @@ on: [push]
|
|||
|
||||
jobs:
|
||||
test:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
|
@ -23,7 +22,7 @@ jobs:
|
|||
env:
|
||||
CI: true
|
||||
- name: Install peer & test dependencies
|
||||
run: cd packages/florent && npm install @freesewing/core @freesewing/plugin-bundle @freesewing/models @freesewing/pattern-info mocha chai
|
||||
run: 'cd packages/florent && npm install @freesewing/core@^2.7.2 @freesewing/plugin-bundle@^2.7.2 @freesewing/models@2.7.2 @freesewing/pattern-info@2.7.2 mocha chai'
|
||||
env:
|
||||
CI: true
|
||||
- name: Build pattern
|
||||
|
|
3
.github/workflows/tests.holmes.yml
vendored
3
.github/workflows/tests.holmes.yml
vendored
|
@ -4,7 +4,6 @@ on: [push]
|
|||
|
||||
jobs:
|
||||
test:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
|
@ -23,7 +22,7 @@ jobs:
|
|||
env:
|
||||
CI: true
|
||||
- name: Install peer & test dependencies
|
||||
run: cd packages/holmes && npm install @freesewing/core @freesewing/plugin-bundle @freesewing/plugin-bust @freesewing/models @freesewing/pattern-info mocha chai
|
||||
run: 'cd packages/holmes && npm install @freesewing/core@^2.7.2 @freesewing/plugin-bundle@^2.7.2 @freesewing/plugin-bust@^2.7.2 @freesewing/models@2.7.2 @freesewing/pattern-info@2.7.2 mocha chai'
|
||||
env:
|
||||
CI: true
|
||||
- name: Build pattern
|
||||
|
|
3
.github/workflows/tests.huey.yml
vendored
3
.github/workflows/tests.huey.yml
vendored
|
@ -4,7 +4,6 @@ on: [push]
|
|||
|
||||
jobs:
|
||||
test:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
|
@ -23,7 +22,7 @@ jobs:
|
|||
env:
|
||||
CI: true
|
||||
- name: Install peer & test dependencies
|
||||
run: cd packages/huey && npm install @freesewing/core @freesewing/plugin-bundle @freesewing/brian @freesewing/models @freesewing/pattern-info mocha chai
|
||||
run: 'cd packages/huey && npm install @freesewing/core@^2.7.2 @freesewing/plugin-bundle@^2.7.2 @freesewing/brian@^2.7.2 @freesewing/models@2.7.2 @freesewing/pattern-info@2.7.2 mocha chai'
|
||||
env:
|
||||
CI: true
|
||||
- name: Build pattern
|
||||
|
|
3
.github/workflows/tests.hugo.yml
vendored
3
.github/workflows/tests.hugo.yml
vendored
|
@ -4,7 +4,6 @@ on: [push]
|
|||
|
||||
jobs:
|
||||
test:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
|
@ -23,7 +22,7 @@ jobs:
|
|||
env:
|
||||
CI: true
|
||||
- name: Install peer & test dependencies
|
||||
run: cd packages/hugo && npm install @freesewing/core @freesewing/plugin-bundle @freesewing/brian @freesewing/models @freesewing/pattern-info mocha chai
|
||||
run: 'cd packages/hugo && npm install @freesewing/core@^2.7.2 @freesewing/plugin-bundle@^2.7.2 @freesewing/brian@^2.7.2 @freesewing/models@2.7.2 @freesewing/pattern-info@2.7.2 mocha chai'
|
||||
env:
|
||||
CI: true
|
||||
- name: Build pattern
|
||||
|
|
3
.github/workflows/tests.jaeger.yml
vendored
3
.github/workflows/tests.jaeger.yml
vendored
|
@ -4,7 +4,6 @@ on: [push]
|
|||
|
||||
jobs:
|
||||
test:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
|
@ -23,7 +22,7 @@ jobs:
|
|||
env:
|
||||
CI: true
|
||||
- name: Install peer & test dependencies
|
||||
run: cd packages/jaeger && npm install @freesewing/core @freesewing/plugin-bundle @freesewing/brian @freesewing/bent @freesewing/plugin-buttons @freesewing/models @freesewing/pattern-info mocha chai
|
||||
run: 'cd packages/jaeger && npm install @freesewing/core@^2.7.2 @freesewing/plugin-bundle@^2.7.2 @freesewing/brian@^2.7.2 @freesewing/bent@^2.7.2 @freesewing/plugin-buttons@^2.7.2 @freesewing/models@2.7.2 @freesewing/pattern-info@2.7.2 mocha chai'
|
||||
env:
|
||||
CI: true
|
||||
- name: Build pattern
|
||||
|
|
31
.github/workflows/tests.legend.yml
vendored
Normal file
31
.github/workflows/tests.legend.yml
vendored
Normal file
|
@ -0,0 +1,31 @@
|
|||
name: Unit tests - Legend
|
||||
|
||||
on: [push]
|
||||
|
||||
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/legend && npm install
|
||||
env:
|
||||
CI: true
|
||||
- name: Install peer & test dependencies
|
||||
run: 'cd packages/legend && npm install @freesewing/core@^2.7.2 @freesewing/plugin-bundle@^2.7.2 @freesewing/plugin-buttons@^2.7.2 @freesewing/models@2.7.2 @freesewing/pattern-info@2.7.2 mocha chai'
|
||||
env:
|
||||
CI: true
|
||||
- name: Build pattern
|
||||
run: cd packages/legend && npm run build
|
||||
- name: Run pattern unit tests
|
||||
run: cd packages/legend && npm run testci
|
3
.github/workflows/tests.penelope.yml
vendored
3
.github/workflows/tests.penelope.yml
vendored
|
@ -4,7 +4,6 @@ on: [push]
|
|||
|
||||
jobs:
|
||||
test:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
|
@ -23,7 +22,7 @@ jobs:
|
|||
env:
|
||||
CI: true
|
||||
- name: Install peer & test dependencies
|
||||
run: cd packages/penelope && npm install @freesewing/core @freesewing/plugin-bundle @freesewing/models @freesewing/pattern-info mocha chai
|
||||
run: 'cd packages/penelope && npm install @freesewing/core@^2.7.2 @freesewing/plugin-bundle@^2.7.2 @freesewing/models@2.7.2 @freesewing/pattern-info@2.7.2 mocha chai'
|
||||
env:
|
||||
CI: true
|
||||
- name: Build pattern
|
||||
|
|
3
.github/workflows/tests.rendertest.yml
vendored
3
.github/workflows/tests.rendertest.yml
vendored
|
@ -4,7 +4,6 @@ on: [push]
|
|||
|
||||
jobs:
|
||||
test:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
|
@ -23,7 +22,7 @@ jobs:
|
|||
env:
|
||||
CI: true
|
||||
- name: Install peer & test dependencies
|
||||
run: cd packages/rendertest && npm install @freesewing/core @freesewing/plugin-bundle @freesewing/models @freesewing/pattern-info mocha chai
|
||||
run: 'cd packages/rendertest && npm install @freesewing/core@^2.7.2 @freesewing/plugin-bundle@^2.7.2 @freesewing/models@2.7.2 @freesewing/pattern-info@2.7.2 mocha chai'
|
||||
env:
|
||||
CI: true
|
||||
- name: Build pattern
|
||||
|
|
3
.github/workflows/tests.sandy.yml
vendored
3
.github/workflows/tests.sandy.yml
vendored
|
@ -4,7 +4,6 @@ on: [push]
|
|||
|
||||
jobs:
|
||||
test:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
|
@ -23,7 +22,7 @@ jobs:
|
|||
env:
|
||||
CI: true
|
||||
- name: Install peer & test dependencies
|
||||
run: cd packages/sandy && npm install @freesewing/core @freesewing/plugin-bundle @freesewing/models @freesewing/pattern-info mocha chai
|
||||
run: 'cd packages/sandy && npm install @freesewing/core@^2.7.2 @freesewing/plugin-bundle@^2.7.2 @freesewing/models@2.7.2 @freesewing/pattern-info@2.7.2 mocha chai'
|
||||
env:
|
||||
CI: true
|
||||
- name: Build pattern
|
||||
|
|
3
.github/workflows/tests.shin.yml
vendored
3
.github/workflows/tests.shin.yml
vendored
|
@ -4,7 +4,6 @@ on: [push]
|
|||
|
||||
jobs:
|
||||
test:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
|
@ -23,7 +22,7 @@ jobs:
|
|||
env:
|
||||
CI: true
|
||||
- name: Install peer & test dependencies
|
||||
run: cd packages/shin && npm install @freesewing/core @freesewing/plugin-bundle @freesewing/models @freesewing/pattern-info mocha chai
|
||||
run: 'cd packages/shin && npm install @freesewing/core@^2.7.2 @freesewing/plugin-bundle@^2.7.2 @freesewing/models@2.7.2 @freesewing/pattern-info@2.7.2 mocha chai'
|
||||
env:
|
||||
CI: true
|
||||
- name: Build pattern
|
||||
|
|
3
.github/workflows/tests.simon.yml
vendored
3
.github/workflows/tests.simon.yml
vendored
|
@ -4,7 +4,6 @@ on: [push]
|
|||
|
||||
jobs:
|
||||
test:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
|
@ -23,7 +22,7 @@ jobs:
|
|||
env:
|
||||
CI: true
|
||||
- name: Install peer & test dependencies
|
||||
run: cd packages/simon && npm install @freesewing/core @freesewing/plugin-bundle @freesewing/brian @freesewing/plugin-buttons @freesewing/plugin-flip @freesewing/models @freesewing/pattern-info mocha chai
|
||||
run: 'cd packages/simon && npm install @freesewing/core@^2.7.2 @freesewing/plugin-bundle@^2.7.2 @freesewing/brian@^2.7.2 @freesewing/plugin-buttons@^2.7.2 @freesewing/plugin-flip@^2.7.2 @freesewing/models@2.7.2 @freesewing/pattern-info@2.7.2 mocha chai'
|
||||
env:
|
||||
CI: true
|
||||
- name: Build pattern
|
||||
|
|
3
.github/workflows/tests.simone.yml
vendored
3
.github/workflows/tests.simone.yml
vendored
|
@ -4,7 +4,6 @@ on: [push]
|
|||
|
||||
jobs:
|
||||
test:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
|
@ -23,7 +22,7 @@ jobs:
|
|||
env:
|
||||
CI: true
|
||||
- name: Install peer & test dependencies
|
||||
run: cd packages/simone && npm install @freesewing/core @freesewing/plugin-bundle @freesewing/brian @freesewing/simon @freesewing/plugin-buttons @freesewing/plugin-flip @freesewing/plugin-bust @freesewing/models @freesewing/pattern-info mocha chai
|
||||
run: 'cd packages/simone && npm install @freesewing/core@^2.7.2 @freesewing/plugin-bundle@^2.7.2 @freesewing/brian@^2.7.2 @freesewing/simon@^2.7.2 @freesewing/plugin-buttons@^2.7.2 @freesewing/plugin-flip@^2.7.2 @freesewing/plugin-bust@^2.7.2 @freesewing/models@2.7.2 @freesewing/pattern-info@2.7.2 mocha chai'
|
||||
env:
|
||||
CI: true
|
||||
- name: Build pattern
|
||||
|
|
3
.github/workflows/tests.sven.yml
vendored
3
.github/workflows/tests.sven.yml
vendored
|
@ -4,7 +4,6 @@ on: [push]
|
|||
|
||||
jobs:
|
||||
test:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
|
@ -23,7 +22,7 @@ jobs:
|
|||
env:
|
||||
CI: true
|
||||
- name: Install peer & test dependencies
|
||||
run: cd packages/sven && npm install @freesewing/core @freesewing/plugin-bundle @freesewing/brian @freesewing/models @freesewing/pattern-info mocha chai
|
||||
run: 'cd packages/sven && npm install @freesewing/core@^2.7.2 @freesewing/plugin-bundle@^2.7.2 @freesewing/brian@^2.7.2 @freesewing/models@2.7.2 @freesewing/pattern-info@2.7.2 mocha chai'
|
||||
env:
|
||||
CI: true
|
||||
- name: Build pattern
|
||||
|
|
3
.github/workflows/tests.tamiko.yml
vendored
3
.github/workflows/tests.tamiko.yml
vendored
|
@ -4,7 +4,6 @@ on: [push]
|
|||
|
||||
jobs:
|
||||
test:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
|
@ -23,7 +22,7 @@ jobs:
|
|||
env:
|
||||
CI: true
|
||||
- name: Install peer & test dependencies
|
||||
run: cd packages/tamiko && npm install @freesewing/core @freesewing/plugin-bundle @freesewing/models @freesewing/pattern-info mocha chai
|
||||
run: 'cd packages/tamiko && npm install @freesewing/core@^2.7.2 @freesewing/plugin-bundle@^2.7.2 @freesewing/models@2.7.2 @freesewing/pattern-info@2.7.2 mocha chai'
|
||||
env:
|
||||
CI: true
|
||||
- name: Build pattern
|
||||
|
|
3
.github/workflows/tests.theo.yml
vendored
3
.github/workflows/tests.theo.yml
vendored
|
@ -4,7 +4,6 @@ on: [push]
|
|||
|
||||
jobs:
|
||||
test:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
|
@ -23,7 +22,7 @@ jobs:
|
|||
env:
|
||||
CI: true
|
||||
- name: Install peer & test dependencies
|
||||
run: cd packages/theo && npm install @freesewing/core @freesewing/plugin-bundle @freesewing/models @freesewing/pattern-info mocha chai
|
||||
run: 'cd packages/theo && npm install @freesewing/core@^2.7.2 @freesewing/plugin-bundle@^2.7.2 @freesewing/models@2.7.2 @freesewing/pattern-info@2.7.2 mocha chai'
|
||||
env:
|
||||
CI: true
|
||||
- name: Build pattern
|
||||
|
|
3
.github/workflows/tests.trayvon.yml
vendored
3
.github/workflows/tests.trayvon.yml
vendored
|
@ -4,7 +4,6 @@ on: [push]
|
|||
|
||||
jobs:
|
||||
test:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
|
@ -23,7 +22,7 @@ jobs:
|
|||
env:
|
||||
CI: true
|
||||
- name: Install peer & test dependencies
|
||||
run: cd packages/trayvon && npm install @freesewing/core @freesewing/plugin-bundle @freesewing/models @freesewing/pattern-info mocha chai
|
||||
run: 'cd packages/trayvon && npm install @freesewing/core@^2.7.2 @freesewing/plugin-bundle@^2.7.2 @freesewing/models@2.7.2 @freesewing/pattern-info@2.7.2 mocha chai'
|
||||
env:
|
||||
CI: true
|
||||
- name: Build pattern
|
||||
|
|
3
.github/workflows/tests.tutorial.yml
vendored
3
.github/workflows/tests.tutorial.yml
vendored
|
@ -4,7 +4,6 @@ on: [push]
|
|||
|
||||
jobs:
|
||||
test:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
|
@ -23,7 +22,7 @@ jobs:
|
|||
env:
|
||||
CI: true
|
||||
- name: Install peer & test dependencies
|
||||
run: cd packages/tutorial && npm install @freesewing/core @freesewing/plugin-bundle @freesewing/models @freesewing/pattern-info mocha chai
|
||||
run: 'cd packages/tutorial && npm install @freesewing/core@^2.7.2 @freesewing/plugin-bundle@^2.7.2 @freesewing/models@2.7.2 @freesewing/pattern-info@2.7.2 mocha chai'
|
||||
env:
|
||||
CI: true
|
||||
- name: Build pattern
|
||||
|
|
3
.github/workflows/tests.wahid.yml
vendored
3
.github/workflows/tests.wahid.yml
vendored
|
@ -4,7 +4,6 @@ on: [push]
|
|||
|
||||
jobs:
|
||||
test:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
|
@ -23,7 +22,7 @@ jobs:
|
|||
env:
|
||||
CI: true
|
||||
- name: Install peer & test dependencies
|
||||
run: cd packages/wahid && npm install @freesewing/core @freesewing/plugin-bundle @freesewing/brian @freesewing/plugin-buttons @freesewing/plugin-round @freesewing/models @freesewing/pattern-info mocha chai
|
||||
run: 'cd packages/wahid && npm install @freesewing/core@^2.7.2 @freesewing/plugin-bundle@^2.7.2 @freesewing/brian@^2.7.2 @freesewing/plugin-buttons@^2.7.2 @freesewing/plugin-round@^2.7.2 @freesewing/models@2.7.2 @freesewing/pattern-info@2.7.2 mocha chai'
|
||||
env:
|
||||
CI: true
|
||||
- name: Build pattern
|
||||
|
|
3
.github/workflows/tests.waralee.yml
vendored
3
.github/workflows/tests.waralee.yml
vendored
|
@ -4,7 +4,6 @@ on: [push]
|
|||
|
||||
jobs:
|
||||
test:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
|
@ -23,7 +22,7 @@ jobs:
|
|||
env:
|
||||
CI: true
|
||||
- name: Install peer & test dependencies
|
||||
run: cd packages/waralee && npm install @freesewing/core @freesewing/plugin-bundle @freesewing/models @freesewing/pattern-info mocha chai
|
||||
run: 'cd packages/waralee && npm install @freesewing/core@^2.7.2 @freesewing/plugin-bundle@^2.7.2 @freesewing/models@2.7.2 @freesewing/pattern-info@2.7.2 mocha chai'
|
||||
env:
|
||||
CI: true
|
||||
- name: Build pattern
|
||||
|
|
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -11,6 +11,7 @@ packages/components/Emblem
|
|||
packages/components/Example
|
||||
packages/components/Footer
|
||||
packages/components/Icon
|
||||
packages/components/Legend
|
||||
packages/components/LineDrawing
|
||||
packages/components/Logo
|
||||
packages/components/Navbar
|
||||
|
@ -29,11 +30,13 @@ packages/workbench
|
|||
packages/utils/backend
|
||||
packages/utils/camelCase
|
||||
packages/utils/capitalize
|
||||
packages/utils/convertSize
|
||||
packages/utils/cloneObject
|
||||
packages/utils/defaultGist
|
||||
packages/utils/defaultSa
|
||||
packages/utils/formatImperial
|
||||
packages/utils/formatMm
|
||||
packages/utils/isDegMeasurement
|
||||
packages/utils/measurementAsMm
|
||||
packages/utils/measurementDiffers
|
||||
packages/utils/neckstimate
|
||||
|
|
1150
CHANGELOG.md
1150
CHANGELOG.md
File diff suppressed because it is too large
Load diff
|
@ -1,21 +1,262 @@
|
|||
Unreleased:
|
||||
date:
|
||||
Added:
|
||||
Changes:
|
||||
Deprecated:
|
||||
Fixed:
|
||||
Removed:
|
||||
Security:
|
||||
core:
|
||||
- Fixed wrong return value in debug message from Path
|
||||
|
||||
2.5.1:
|
||||
date: 2020-04-19
|
||||
2.7.1:
|
||||
date: 2020-07-24
|
||||
Added:
|
||||
core:
|
||||
- Added new debug functionality through the use of the `raise.debug`
|
||||
- Added a new `debug` setting
|
||||
- Shorthand now proxies objects to allow debug and raise
|
||||
components:
|
||||
- Workbench now includes events debug output and enables debug by default
|
||||
css-theme:
|
||||
- Added themeing for events
|
||||
utils:
|
||||
- Added backend calls for creating gists/issues on Github
|
||||
wahid:
|
||||
- Added the `square` hem style. Fixes [#672](https://github.com/freesewing/freesewing.org/issues/672)
|
||||
Changed:
|
||||
wahid:
|
||||
- Hem radius can no longer be zero. Use teh `square` hem style for that
|
||||
Fixed:
|
||||
aaron:
|
||||
- Set missing option `brianFitCollar` to `false`
|
||||
bruce:
|
||||
- Fixed a check for an undefined value in the store
|
||||
carlton:
|
||||
- Removed unused `hipsEase` code
|
||||
hugo:
|
||||
- Set missing option `brianFitCollar` to `false`
|
||||
- Adding missing control point to front neck opening
|
||||
simon:
|
||||
- Set missing option `brianFitCollar` to `false`
|
||||
- Don't assume the `chHips-notch` is available because it's not in Simone. Fixes [#833](https://github.com/freesewing/freesewing.org/issues/833)
|
||||
simone:
|
||||
- Set missing option `brianFitCollar` to `false`
|
||||
sven:
|
||||
- Avoided loading unset ribbingHeight from store
|
||||
|
||||
2.7.0:
|
||||
date: 2020-07-12
|
||||
Added:
|
||||
components:
|
||||
- The `sampleConfigurator` component now supports the antwoman test (in addition to the antman test)
|
||||
- Changed `models` to `people` in `sampleConfigurator`
|
||||
- The `Legend` component is new, it is similar to the `Example` component but only for the pattern notation legend
|
||||
- Added support for custom sample styles
|
||||
- Added Titan linedrawing
|
||||
core:
|
||||
- Added support for injecting custom (path) styles when sampling. Closes [#380](https://github.com/freesewing/freesewing/issues/380)
|
||||
- Added support for custom sample styles
|
||||
- Added support for raising events via `raise.[type]()` method
|
||||
hugo:
|
||||
- Added shaping of the side seam
|
||||
legend:
|
||||
- A pattern to document the markings on our patterns
|
||||
- Initial release
|
||||
plugin-mirror:
|
||||
- A FreeSewing plugin for mirroring points or paths
|
||||
- Initial release
|
||||
titan:
|
||||
- A FreeSewing block for pants/trousers
|
||||
- Initial release
|
||||
plugin-measurements:
|
||||
- A FreeSewing plugin that adds measurements that can be calculated based on existing measurements
|
||||
utils:
|
||||
- Added new `isDegMeasurement` method. See [#358](https://github.com/freesewing/freesewing/issues/358)
|
||||
- '`neckStimate` now supports all new measurements. See [#416](https://github.com/freesewing/freesewing/issues/416)'
|
||||
|
||||
Changed:
|
||||
aaron:
|
||||
- Updated side seam shaping and tweaked options for better defaults
|
||||
- Better handling of `armholeDrop` option
|
||||
- Ported aaron to the new (names for) measurements. See [#416](https://github.com/freesewing/freesewing/issues/416)
|
||||
- Removed `Circumference` suffix from measurement names
|
||||
- Report armhole and neck opening length through raised events
|
||||
benjamin:
|
||||
- Removed `Circumference` suffix from measurement names
|
||||
bent:
|
||||
- Increased default for the `cuffEase` option
|
||||
- Decreased default for the `armholeDepth` option
|
||||
- Better range for the `shoulderSlopeReduction` measurement
|
||||
- Ported brian to the new (names for) other measurements. See [#416](https://github.com/freesewing/freesewing/issues/416)
|
||||
- Set tip of undersleeve as anchor point for sampling
|
||||
- Removed `Circumference` suffix from measurement names
|
||||
breanna:
|
||||
- Ported breanna to the new shoulderSlope measurement. See [#358](https://github.com/freesewing/freesewing/issues/358)
|
||||
- Ported breanna to the new (names for) other measurements. See [#416](https://github.com/freesewing/freesewing/issues/416)
|
||||
- Removed `Circumference` suffix from measurement names
|
||||
- Removed deprecated `debug()` statements
|
||||
brian:
|
||||
- Ported brian to new `shoulderSlope` degree measurement. See [#358](https://github.com/freesewing/freesewing/issues/358)
|
||||
- Ported brian to the new (names for) other measurements. See [#416](https://github.com/freesewing/freesewing/issues/416)
|
||||
- Set HPS as anchor point for sampling in front and back
|
||||
- Removed `Circumference` suffix from measurement names
|
||||
- Removed deprecated `debug()` statements
|
||||
bruce:
|
||||
- Ported bruce to the new (names for) measurements. See [#416](https://github.com/freesewing/freesewing/issues/416)
|
||||
- Removed `Circumference` suffix from measurement names
|
||||
- Removed deprecated `debug()` statements
|
||||
carlton:
|
||||
- Better range for the `shoulderSlopeReduction` measurement
|
||||
- Ported carlton to the new (names for) measurements. See [#416](https://github.com/freesewing/freesewing/issues/416)
|
||||
- Removed `Circumference` suffix from measurement names
|
||||
carlita:
|
||||
- Better range for the `shoulderSlopeReduction` measurement
|
||||
- Ported carlita to the new (names for) measurements. See [#416](https://github.com/freesewing/freesewing/issues/416)
|
||||
- Set a sample anchor point on the side part
|
||||
- Removed `Circumference` suffix from measurement names
|
||||
cathrin:
|
||||
- Ported carlita to the new (names for) measurements. See [#416](https://github.com/freesewing/freesewing/issues/416)
|
||||
- Set sample anchor points on all panels
|
||||
- Removed `Circumference` suffix from measurement names
|
||||
- Removed deprecated `debug()` statements
|
||||
components:
|
||||
- Handle escaped quotes for React render. See [#437](https://github.com/freesewing/freesewing/issues/437)
|
||||
css-theme:
|
||||
- Updated the width of the SVG paths of a draft to match plugin-theme
|
||||
diana:
|
||||
- Made the `shoulderSlopeReduction` option static so it's not available in the UI
|
||||
- Ported diana to the new (names for) measurements. See [#416](https://github.com/freesewing/freesewing/issues/416)
|
||||
- Removed `Circumference` suffix from measurement names
|
||||
florence:
|
||||
- Removed `Circumference` suffix from measurement names
|
||||
florent:
|
||||
- Removed `Circumference` suffix from measurement names
|
||||
holmes:
|
||||
- Removed `Circumference` suffix from measurement names
|
||||
huey:
|
||||
- No longer use the `naturalWaist` measurement
|
||||
- Changed some option to better defaults
|
||||
- Ported huey to the new (names for) measurements. See [#416](https://github.com/freesewing/freesewing/issues/416)
|
||||
- Made the `shoulderSlopeReduction` option static so it's not available in the UI
|
||||
- Removed `Circumference` suffix from measurement names
|
||||
hugo:
|
||||
- Changed some option to better defaults
|
||||
- Ported hugo to the new (names for) measurements. See [#416](https://github.com/freesewing/freesewing/issues/416)
|
||||
- Removed `Circumference` suffix from measurement names
|
||||
- Removed deprecated `debug()` statements
|
||||
i18n:
|
||||
- Added translations for Titan
|
||||
- Removed `Circumference` suffix from measurement names
|
||||
jaeger:
|
||||
- Changed some option to better defaults
|
||||
- Set an anchor on side part for sampling
|
||||
- Ported jaeger to the new (names for) measurements. See [#416](https://github.com/freesewing/freesewing/issues/416)
|
||||
- Removed `Circumference` suffix from measurement names
|
||||
models:
|
||||
- Models now come with the new measurements. See [#416](https://github.com/freesewing/freesewing/issues/416)
|
||||
- Ported models to the crotchDepth measurement. See [#425](https://github.com/freesewing/freesewing/issues/425)
|
||||
- Removed `Circumference` suffix from measurement names
|
||||
penelope:
|
||||
- Ported penelope to the new (names for) measurements. See [#416](https://github.com/freesewing/freesewing/issues/416)
|
||||
- Removed `Circumference` suffix from measurement names
|
||||
plugin-buttons:
|
||||
- Snippet names are changed, `snap-male` is now `snap-stud` and `snap-female` is now `snap-socket`
|
||||
Changing this to avoid needless use of gender related terminology.
|
||||
plugin-bust:
|
||||
- Removed `Circumference` suffix from measurement names
|
||||
sandy:
|
||||
- Ported sandy to the new (names for) measurements. See [#416](https://github.com/freesewing/freesewing/issues/416)
|
||||
- Removed `Circumference` suffix from measurement names
|
||||
shin:
|
||||
- Ported shin to the new (names for) measurements. See [#416](https://github.com/freesewing/freesewing/issues/416)
|
||||
- Removed `Circumference` suffix from measurement names
|
||||
simon:
|
||||
- Ported simon to the new (names for) measurements. See [#416](https://github.com/freesewing/freesewing/issues/416)
|
||||
- Removed `Circumference` suffix from measurement names
|
||||
simone:
|
||||
- Ported simone to the new (names for) measurements. See [#416](https://github.com/freesewing/freesewing/issues/416)
|
||||
- Removed `Circumference` suffix from measurement names
|
||||
sven:
|
||||
- Improved the shaping of the side seam
|
||||
- Changed some option to better defaults
|
||||
- Ported sven to the new (names for) measurements. See [#416](https://github.com/freesewing/freesewing/issues/416)
|
||||
- Removed `Circumference` suffix from measurement names
|
||||
tamiko:
|
||||
- Switch from `shoulderSlope` option to `shoulderSlope` measurement
|
||||
- Ported tamiko to the new (names for) measurements. See [#416](https://github.com/freesewing/freesewing/issues/416)
|
||||
- Removed `Circumference` suffix from measurement names
|
||||
theo:
|
||||
- Ported theo to the crotchDepth measurement. See [#425](https://github.com/freesewing/freesewing/issues/425)
|
||||
- Removed `Circumference` suffix from measurement names
|
||||
trayvon:
|
||||
- Ported trayvon to the new (names for) measurements. See [#416](https://github.com/freesewing/freesewing/issues/416)
|
||||
- Removed `Circumference` suffix from measurement names
|
||||
tutorial:
|
||||
- Removed `Circumference` suffix from measurement names
|
||||
utils:
|
||||
- Changed `neckstimate` to handle new `shoulderSlope` degree measurement. See [#358](https://github.com/freesewing/freesewing/issues/358)
|
||||
- Changed `neckstimate` to support all new measurements. See [#416](https://github.com/freesewing/freesewing/issues/416)
|
||||
- Ported `neckstimate` to the crotchDepth measurement. See [#425](https://github.com/freesewing/freesewing/issues/425)
|
||||
- Removed `Circumference` suffix from measurement names
|
||||
- Added the `isDegMeasurement` method
|
||||
wahid:
|
||||
- Ported wahid to the new (names for) measurements. See [#416](https://github.com/freesewing/freesewing/issues/416)
|
||||
- Removed `Circumference` suffix from measurement names
|
||||
- Removed `wrist` and `shoulderToWrist` as required measurements
|
||||
waralee:
|
||||
- Ported waralee to the crotchDepth measurement. See [#425](https://github.com/freesewing/freesewing/issues/425)
|
||||
- Removed `Circumference` suffix from measurement names
|
||||
workbench:
|
||||
- Added changes to support new `shoulderSlope` degree measurement. See [#358](https://github.com/freesewing/freesewing/issues/358)
|
||||
|
||||
Fixed:
|
||||
aaron:
|
||||
- Fixed incorrect instruction for neck binding (the indicated length was only half)
|
||||
bruce:
|
||||
- Sampling some options would not work in Bruce because the code shared across patterns would only run once. That's fixed now.
|
||||
cathrin:
|
||||
- '[Fixed missing points issue when changing panels option](https://github.com/freesewing/freesewing.org/issues/619)'
|
||||
- Fixed panels option being a list of numbers rather than strings
|
||||
components:
|
||||
- Fixed bug that broke millimeter sliders
|
||||
core:
|
||||
- '[Properly escape quotes in imperial units](https://github.com/freesewing/freesewing/issues/437)'
|
||||
huey:
|
||||
- '[Added seam allowance to the front closure](https://github.com/freesewing/freesewing/issues/420)'
|
||||
Removed:
|
||||
plugin-buttons:
|
||||
- Snippet `snap-male` and `snap-female` are no longer available. Use `snap-stud` and `snap-socket` instead
|
||||
plugin-debug:
|
||||
- This plugin is deprecated and removed from the repository
|
||||
plugin-designer:
|
||||
- This plugin is deprecated and removed from the repository
|
||||
|
||||
2.6.0:
|
||||
date: 2020-05-01
|
||||
Added:
|
||||
components:
|
||||
- '[#368](https://github.com/freesewing/freesewing/issues/368):
|
||||
Allow pan and zoom in the Workbench component.'
|
||||
- '[#374](https://github.com/freesewing/freesewing/issues/374):
|
||||
Allow (extra) translations to be added to the workbench component'
|
||||
- New shortcut buttons and sidebar collapse support for Workbench
|
||||
- Refactor to remove prop-types dependency
|
||||
- Reworked the withLanguage component to allow adding translations at run-time
|
||||
create-freesewing-pattern:
|
||||
- '[#365](https://github.com/freesewing/freesewing/issues/365):
|
||||
Check for node version and raise an error it is too old.'
|
||||
css-theme:
|
||||
- New styled for updated Workbench component
|
||||
florence:
|
||||
- Florence is a face mask pattern
|
||||
plugin-export-dxf:
|
||||
- This plugin can export your pattern as DXF-ASTM
|
||||
Changes:
|
||||
- Initial release
|
||||
Changed:
|
||||
core:
|
||||
- utils now includes `Bezier` which holds the bezier-js library so you don't need to re-import it
|
||||
- We no longer set the plugin configuration/data object to fall in `pattern.use()`
|
||||
i18n:
|
||||
- Changes to support the renaming of @freesewing/fu to @freesewing/florence
|
||||
Deprecated:
|
||||
florence:
|
||||
- '@freesewing/fu has been renamed to @freesewing/florence'
|
||||
Fixed:
|
||||
brian:
|
||||
- The `saBase` path is no longer being rendered
|
||||
|
@ -37,7 +278,7 @@ Unreleased:
|
|||
- Diana is a top with a draped neck
|
||||
i18n:
|
||||
- title, description, and options for Dianna
|
||||
Changes:
|
||||
Changed:
|
||||
css-theme:
|
||||
- The sidebar no longer has a different background
|
||||
Fixed:
|
||||
|
@ -52,8 +293,8 @@ Unreleased:
|
|||
|
||||
2.4.5:
|
||||
date: 2020-03-19
|
||||
Changes:
|
||||
fu:
|
||||
Changed:
|
||||
florence:
|
||||
- Improved shape based on community feedback
|
||||
utils:
|
||||
- neckstimate() now returns values rounded to nearest mm
|
||||
|
@ -63,7 +304,7 @@ Unreleased:
|
|||
|
||||
2.4.4:
|
||||
date: 2020-03-15
|
||||
Changes:
|
||||
Changed:
|
||||
plugin-dimension:
|
||||
- Don't escape inch symbol in text. Instead let Svg.escapeText() handle it at render time
|
||||
Fixed:
|
||||
|
@ -108,16 +349,19 @@ Unreleased:
|
|||
2.4.0:
|
||||
date: 2020-02-29
|
||||
Added:
|
||||
fu:
|
||||
- Fu is a face mask pattern
|
||||
florence:
|
||||
- Florence is a face mask pattern
|
||||
- Initial release
|
||||
|
||||
2.3.0:
|
||||
date: 2020-02-23
|
||||
Added:
|
||||
holmes:
|
||||
- Homes is a pattern for a Sherlock Holmes hat
|
||||
- Initial release
|
||||
plugin-gore:
|
||||
- A plugin to generate gores for semi-spheres or domes
|
||||
- Initial release
|
||||
|
||||
2.2.0:
|
||||
date: 2020-02-22
|
||||
|
@ -290,8 +534,10 @@ Unreleased:
|
|||
- Added the fixme type Blockquote component
|
||||
gatsby-remark-jargon:
|
||||
- Added the gatsby-remark-jargon package, a gatbsy plugin wrapping remark-jargon
|
||||
- Initial release
|
||||
remark-jargon:
|
||||
- Added the remark-jargon package, a remark plugin for jargon terms
|
||||
- Initial release
|
||||
Fixed:
|
||||
css-theme:
|
||||
- Fixed padding issue on mobile
|
||||
|
@ -307,13 +553,16 @@ Unreleased:
|
|||
- Added translations for Penelope, Waralee, and Simone
|
||||
simone:
|
||||
- Added the Simone shirt pattern
|
||||
- Initial release
|
||||
penelope:
|
||||
- Added the Penelope Pencil Skirt pattern by @woutervdub
|
||||
- Initial release
|
||||
utils:
|
||||
- Added backend methods for administration
|
||||
- Added the resendActivationEmail method to backend
|
||||
waralee:
|
||||
- Added the Waralee wrap Pants pattern by @woutervdub
|
||||
- Initial release
|
||||
Changed:
|
||||
css-theme:
|
||||
- Made tweaks to the main/sidebar layout
|
||||
|
@ -435,3 +684,107 @@ Unreleased:
|
|||
models:
|
||||
- '[#86](https://github.com/freesewing/freesewing/issues/86):
|
||||
The `seatCircumference` measurement was missing, thus making it unavailable on the website'
|
||||
|
||||
2.0.0:
|
||||
date: 2019-08-25
|
||||
Added:
|
||||
aaron:
|
||||
- Initial release
|
||||
benjamin:
|
||||
- Initial release
|
||||
bent:
|
||||
- Initial release
|
||||
brian:
|
||||
- Initial release
|
||||
bruce:
|
||||
- Initial release
|
||||
carlita:
|
||||
- Initial release
|
||||
carlton:
|
||||
- Initial release
|
||||
cathrin:
|
||||
- Initial release
|
||||
components:
|
||||
- Initial release
|
||||
core:
|
||||
- Initial release
|
||||
create-freesewing-pattern:
|
||||
- Initial release
|
||||
css-theme:
|
||||
- Initial release
|
||||
examples:
|
||||
- Initial release
|
||||
florent:
|
||||
- Initial release
|
||||
huey:
|
||||
- Initial release
|
||||
hugo:
|
||||
- Initial release
|
||||
i18n:
|
||||
- Initial release
|
||||
jaeger:
|
||||
- Initial release
|
||||
models:
|
||||
- Initial release
|
||||
mui-theme:
|
||||
- Initial release
|
||||
pattern-info:
|
||||
- Initial release
|
||||
plugin-banner:
|
||||
- Initial release
|
||||
plugin-bundle:
|
||||
- Initial release
|
||||
plugin-bust:
|
||||
- Initial release
|
||||
plugin-buttons:
|
||||
- Initial release
|
||||
plugin-cutonfold:
|
||||
- Initial release
|
||||
plugin-dimension:
|
||||
- Initial release
|
||||
plugin-flip:
|
||||
- Initial release
|
||||
plugin-grainline:
|
||||
- Initial release
|
||||
plugin-i18n:
|
||||
- Initial release
|
||||
plugin-logo:
|
||||
- Initial release
|
||||
plugin-round:
|
||||
- Initial release
|
||||
plugin-scalebox:
|
||||
- Initial release
|
||||
plugin-sprinkle:
|
||||
- Initial release
|
||||
plugin-svgattr:
|
||||
- Initial release
|
||||
plugin-theme:
|
||||
- Initial release
|
||||
plugin-title:
|
||||
- Initial release
|
||||
plugin-validate:
|
||||
- Initial release
|
||||
prettier-config:
|
||||
- Initial release
|
||||
rendertest:
|
||||
- Initial release
|
||||
sandy:
|
||||
- Initial release
|
||||
shin:
|
||||
- Initial release
|
||||
simon:
|
||||
- Initial release
|
||||
sven:
|
||||
- Initial release
|
||||
tamiko:
|
||||
- Initial release
|
||||
theo:
|
||||
- Initial release
|
||||
trayvon:
|
||||
- Initial release
|
||||
tutorial:
|
||||
- Initial release
|
||||
utils:
|
||||
- Initial release
|
||||
wahid:
|
||||
- Initial release
|
||||
|
|
|
@ -1,191 +1,194 @@
|
|||
_types:
|
||||
pattern:
|
||||
peer:
|
||||
"@freesewing/core": "^{{version}}"
|
||||
"@freesewing/plugin-bundle": "^{{version}}"
|
||||
'@freesewing/core': '^{{version}}'
|
||||
'@freesewing/plugin-bundle': '^{{version}}'
|
||||
dev:
|
||||
"react": "^16.8"
|
||||
"react-dom": "^16.8"
|
||||
"@babel/plugin-proposal-class-properties": "^7.0.0"
|
||||
"babel-eslint": "10.0.1"
|
||||
"eslint": "^5.16.0"
|
||||
"babel-jest": "24.7.1"
|
||||
"jest": "24.7.1"
|
||||
"@freesewing/components": "^{{version}}"
|
||||
"@freesewing/css-theme": "^{{version}}"
|
||||
"@freesewing/i18n": "^{{version}}"
|
||||
"@freesewing/mui-theme": "^{{version}}"
|
||||
"@freesewing/plugin-bust": "^{{version}}"
|
||||
"@freesewing/plugin-buttons": "^{{version}}"
|
||||
"@freesewing/plugin-flip": "^{{version}}"
|
||||
"@freesewing/utils": "^{{version}}"
|
||||
"@svgr/rollup": "^2.4.1"
|
||||
"cross-env": "^5.1.4"
|
||||
"gh-pages": "^1.2.0"
|
||||
"react-scripts": "^3.0.0"
|
||||
"webpack": "4.29.6"
|
||||
"rollup": "^0.64.1"
|
||||
"rollup-plugin-babel": "^4.0.1"
|
||||
"rollup-plugin-babel-minify": "^7.0.0"
|
||||
"rollup-plugin-commonjs": "^9.1.3"
|
||||
"rollup-plugin-json": "^3.1.0"
|
||||
"rollup-plugin-node-resolve": "^3.3.0"
|
||||
"rollup-plugin-peer-deps-external": "^2.2.0"
|
||||
"rollup-plugin-postcss": "^1.6.2"
|
||||
"rollup-plugin-url": "^1.4.0"
|
||||
"@material-ui/core": "4.0.1"
|
||||
"@material-ui/icons": "4.0.1"
|
||||
"@material-ui/lab": "^v4.0.0-alpha.14"
|
||||
"react-intl": "2.8.0"
|
||||
"prop-types": "15.7.2"
|
||||
"mocha": "^6.1.4"
|
||||
"chai": "^4.1.2"
|
||||
"chai-string": "^1.4.0"
|
||||
"@babel/register": "^7.4.4"
|
||||
'react': '^16.8'
|
||||
'react-dom': '^16.8'
|
||||
'@babel/plugin-proposal-class-properties': '^7.0.0'
|
||||
'babel-eslint': '10.0.1'
|
||||
'eslint': '^5.16.0'
|
||||
'babel-jest': '24.7.1'
|
||||
'jest': '24.7.1'
|
||||
'@freesewing/components': '^{{version}}'
|
||||
'@freesewing/css-theme': '^{{version}}'
|
||||
'@freesewing/i18n': '^{{version}}'
|
||||
'@freesewing/mui-theme': '^{{version}}'
|
||||
'@freesewing/plugin-bust': '^{{version}}'
|
||||
'@freesewing/plugin-buttons': '^{{version}}'
|
||||
'@freesewing/plugin-flip': '^{{version}}'
|
||||
'@freesewing/utils': '^{{version}}'
|
||||
'@svgr/rollup': '^2.4.1'
|
||||
'cross-env': '^5.1.4'
|
||||
'gh-pages': '^1.2.0'
|
||||
'react-scripts': '^3.0.0'
|
||||
'webpack': '4.29.6'
|
||||
'rollup': '^0.64.1'
|
||||
'rollup-plugin-babel': '^4.0.1'
|
||||
'rollup-plugin-babel-minify': '^7.0.0'
|
||||
'rollup-plugin-commonjs': '^9.1.3'
|
||||
'rollup-plugin-json': '^3.1.0'
|
||||
'rollup-plugin-node-resolve': '^3.3.0'
|
||||
'rollup-plugin-peer-deps-external': '^2.2.0'
|
||||
'rollup-plugin-postcss': '^1.6.2'
|
||||
'rollup-plugin-url': '^1.4.0'
|
||||
'@material-ui/core': '4.0.1'
|
||||
'@material-ui/icons': '4.0.1'
|
||||
'@material-ui/lab': '^v4.0.0-alpha.14'
|
||||
'react-intl': '2.8.0'
|
||||
'prop-types': '15.7.2'
|
||||
'mocha': '^6.1.4'
|
||||
'chai': '^4.1.2'
|
||||
'chai-string': '^1.4.0'
|
||||
'@babel/register': '^7.4.4'
|
||||
plugin:
|
||||
peer:
|
||||
"@freesewing/core": "^{{version}}"
|
||||
'@freesewing/core': '^{{version}}'
|
||||
aaron:
|
||||
peer:
|
||||
"@freesewing/brian": "^{{version}}"
|
||||
'@freesewing/brian': '^{{version}}'
|
||||
bent:
|
||||
peer:
|
||||
"@freesewing/brian": "^{{version}}"
|
||||
'@freesewing/brian': '^{{version}}'
|
||||
breanna:
|
||||
peer:
|
||||
"@freesewing/brian": "^{{version}}"
|
||||
'@freesewing/brian': '^{{version}}'
|
||||
carlita:
|
||||
peer:
|
||||
"@freesewing/brian": "^{{version}}"
|
||||
"@freesewing/bent": "^{{version}}"
|
||||
"@freesewing/carlton": "^{{version}}"
|
||||
"@freesewing/plugin-bust": "^{{version}}"
|
||||
"@freesewing/plugin-buttons": "^{{version}}"
|
||||
'@freesewing/brian': '^{{version}}'
|
||||
'@freesewing/bent': '^{{version}}'
|
||||
'@freesewing/carlton': '^{{version}}'
|
||||
'@freesewing/plugin-bust': '^{{version}}'
|
||||
'@freesewing/plugin-buttons': '^{{version}}'
|
||||
carlton:
|
||||
peer:
|
||||
"@freesewing/brian": "^{{version}}"
|
||||
"@freesewing/bent": "^{{version}}"
|
||||
"@freesewing/plugin-buttons": "^{{version}}"
|
||||
'@freesewing/brian': '^{{version}}'
|
||||
'@freesewing/bent': '^{{version}}'
|
||||
'@freesewing/plugin-buttons': '^{{version}}'
|
||||
css-theme:
|
||||
_:
|
||||
"open-color": "1.6.3"
|
||||
'open-color': '1.6.3'
|
||||
components:
|
||||
peer:
|
||||
"react": "^16.8"
|
||||
"prop-types": "15.7.2"
|
||||
"@freesewing/pattern-info": "^{{version}}"
|
||||
"@freesewing/mui-theme": "^{{version}}"
|
||||
"@freesewing/css-theme": "^{{version}}"
|
||||
"@freesewing/plugin-theme": "^{{version}}"
|
||||
"@freesewing/core": "^{{version}}"
|
||||
"@freesewing/models": "^{{version}}"
|
||||
"@freesewing/examples": "^{{version}}"
|
||||
"@freesewing/rendertest": "^{{version}}"
|
||||
"@freesewing/tutorial": "^{{version}}"
|
||||
"typeface-roboto-condensed": "latest"
|
||||
"@freesewing/i18n": "^{{version}}"
|
||||
"@freesewing/utils": "^{{version}}"
|
||||
"react-intl": "^2.8.0"
|
||||
"@material-ui/core": "^4.0.1"
|
||||
"@material-ui/icons": "^4.0.1"
|
||||
"@material-ui/lab": "^v4.0.0-alpha.14"
|
||||
"prismjs": "1.16.0"
|
||||
"file-saver": "^2.0.2"
|
||||
'react': '^16.8'
|
||||
'@freesewing/pattern-info': '^{{version}}'
|
||||
'@freesewing/mui-theme': '^{{version}}'
|
||||
'@freesewing/css-theme': '^{{version}}'
|
||||
'@freesewing/plugin-theme': '^{{version}}'
|
||||
'@freesewing/core': '^{{version}}'
|
||||
'@freesewing/models': '^{{version}}'
|
||||
'@freesewing/examples': '^{{version}}'
|
||||
'@freesewing/rendertest': '^{{version}}'
|
||||
'@freesewing/tutorial': '^{{version}}'
|
||||
'typeface-roboto-condensed': 'latest'
|
||||
'@freesewing/i18n': '^{{version}}'
|
||||
'@freesewing/utils': '^{{version}}'
|
||||
'react-intl': '^2.8.0'
|
||||
'@material-ui/core': '^4.0.1'
|
||||
'@material-ui/icons': '^4.0.1'
|
||||
'@material-ui/lab': '^v4.0.0-alpha.14'
|
||||
'prismjs': '1.16.0'
|
||||
'react-markdown': '4.3.1'
|
||||
'file-saver': '^2.0.2'
|
||||
core:
|
||||
_:
|
||||
"bezier-js": "^2.4.6"
|
||||
"bin-pack": "1.0.2"
|
||||
"hooks": "^0.3.2"
|
||||
'bezier-js': '^2.4.6'
|
||||
'bin-pack': '1.0.2'
|
||||
'hooks': '^0.3.2'
|
||||
create-freesewing-pattern:
|
||||
_:
|
||||
"chalk": "^2.4.2"
|
||||
"commander": "^2.19.0"
|
||||
"conf": "^2.2.0"
|
||||
"cp-file": "^6.0.0"
|
||||
"execa": "^1.0.0"
|
||||
"git-config-path": "^2.0.0"
|
||||
"github-username": "^4.1.0"
|
||||
"globby": "^9.0.0"
|
||||
"handlebars": "^4.1.0"
|
||||
"inquirer": "^6.2.2"
|
||||
"make-dir": "^2.0.0"
|
||||
"ora": "^3.1.0"
|
||||
"p-each-series": "^1.0.0"
|
||||
"parse-git-config": "^3.0.0"
|
||||
"validate-npm-package-name": "^3.0.0"
|
||||
"which": "^1.3.1"
|
||||
"@freesewing/i18n": "^{{version}}"
|
||||
"@freesewing/pattern-info": "^{{version}}"
|
||||
'chalk': '^2.4.2'
|
||||
'commander': '^2.19.0'
|
||||
'conf': '^2.2.0'
|
||||
'cp-file': '^6.0.0'
|
||||
'execa': '^1.0.0'
|
||||
'git-config-path': '^2.0.0'
|
||||
'github-username': '^4.1.0'
|
||||
'globby': '^9.0.0'
|
||||
'handlebars': '^4.1.0'
|
||||
'inquirer': '^6.2.2'
|
||||
'make-dir': '^2.0.0'
|
||||
'ora': '^3.1.0'
|
||||
'p-each-series': '^1.0.0'
|
||||
'parse-git-config': '^3.0.0'
|
||||
'validate-npm-package-name': '^3.0.0'
|
||||
'which': '^1.3.1'
|
||||
'@freesewing/i18n': '^{{version}}'
|
||||
'@freesewing/pattern-info': '^{{version}}'
|
||||
diana:
|
||||
peer:
|
||||
"@freesewing/brian": "^{{version}}"
|
||||
'@freesewing/brian': '^{{version}}'
|
||||
gatsby-remark-jargon:
|
||||
_:
|
||||
"remark-jargon": "^{{version}}"
|
||||
'remark-jargon': '^{{version}}'
|
||||
holmes:
|
||||
_:
|
||||
"@freesewing/plugin-gore": "^{{version}}"
|
||||
'@freesewing/plugin-gore': '^{{version}}'
|
||||
peer:
|
||||
"@freesewing/plugin-bust": "^{{version}}"
|
||||
'@freesewing/plugin-bust': '^{{version}}'
|
||||
huey:
|
||||
peer:
|
||||
"@freesewing/brian": "^{{version}}"
|
||||
'@freesewing/brian': '^{{version}}'
|
||||
hugo:
|
||||
peer:
|
||||
"@freesewing/brian": "^{{version}}"
|
||||
'@freesewing/brian': '^{{version}}'
|
||||
i18n:
|
||||
peer:
|
||||
"@freesewing/pattern-info": "^{{version}}"
|
||||
'@freesewing/pattern-info': '^{{version}}'
|
||||
jaeger:
|
||||
peer:
|
||||
"@freesewing/brian": "^{{version}}"
|
||||
"@freesewing/bent": "^{{version}}"
|
||||
"@freesewing/plugin-buttons": "^{{version}}"
|
||||
'@freesewing/brian': '^{{version}}'
|
||||
'@freesewing/bent': '^{{version}}'
|
||||
'@freesewing/plugin-buttons': '^{{version}}'
|
||||
models:
|
||||
peer:
|
||||
"@freesewing/utils": "^{{version}}"
|
||||
'@freesewing/utils': '^{{version}}'
|
||||
mui-theme:
|
||||
peer:
|
||||
"@material-ui/core": "^4.0.1"
|
||||
"react": "^16.8"
|
||||
"react-dom": "^16.8"
|
||||
'@material-ui/core': '^4.0.1'
|
||||
'react': '^16.8'
|
||||
'react-dom': '^16.8'
|
||||
legend:
|
||||
peer:
|
||||
'@freesewing/plugin-buttons': '^{{version}}'
|
||||
plugin-bundle:
|
||||
_:
|
||||
"@freesewing/plugin-cutonfold": "^{{version}}"
|
||||
"@freesewing/plugin-dimension": "^{{version}}"
|
||||
"@freesewing/plugin-grainline": "^{{version}}"
|
||||
"@freesewing/plugin-logo": "^{{version}}"
|
||||
"@freesewing/plugin-title": "^{{version}}"
|
||||
"@freesewing/plugin-scalebox": "^{{version}}"
|
||||
"@freesewing/plugin-round": "^{{version}}"
|
||||
"@freesewing/plugin-sprinkle": "^{{version}}"
|
||||
'@freesewing/plugin-cutonfold': '^{{version}}'
|
||||
'@freesewing/plugin-dimension': '^{{version}}'
|
||||
'@freesewing/plugin-grainline': '^{{version}}'
|
||||
'@freesewing/plugin-logo': '^{{version}}'
|
||||
'@freesewing/plugin-title': '^{{version}}'
|
||||
'@freesewing/plugin-scalebox': '^{{version}}'
|
||||
'@freesewing/plugin-round': '^{{version}}'
|
||||
'@freesewing/plugin-sprinkle': '^{{version}}'
|
||||
remark-jargon:
|
||||
_:
|
||||
"unist-util-visit": "^1.4.0"
|
||||
'unist-util-visit': '^1.4.0'
|
||||
peer:
|
||||
"remark": "^10.0.1"
|
||||
"remark-html": "^9.0.0"
|
||||
'remark': '^10.0.1'
|
||||
'remark-html': '^9.0.0'
|
||||
simon:
|
||||
peer:
|
||||
"@freesewing/brian": "^{{version}}"
|
||||
"@freesewing/plugin-buttons": "^{{version}}"
|
||||
"@freesewing/plugin-flip": "^{{version}}"
|
||||
'@freesewing/brian': '^{{version}}'
|
||||
'@freesewing/plugin-buttons': '^{{version}}'
|
||||
'@freesewing/plugin-flip': '^{{version}}'
|
||||
simone:
|
||||
peer:
|
||||
"@freesewing/brian": "^{{version}}"
|
||||
"@freesewing/simon": "^{{version}}"
|
||||
"@freesewing/plugin-buttons": "^{{version}}"
|
||||
"@freesewing/plugin-flip": "^{{version}}"
|
||||
"@freesewing/plugin-bust": "^{{version}}"
|
||||
'@freesewing/brian': '^{{version}}'
|
||||
'@freesewing/simon': '^{{version}}'
|
||||
'@freesewing/plugin-buttons': '^{{version}}'
|
||||
'@freesewing/plugin-flip': '^{{version}}'
|
||||
'@freesewing/plugin-bust': '^{{version}}'
|
||||
sven:
|
||||
peer:
|
||||
"@freesewing/brian": "^{{version}}"
|
||||
'@freesewing/brian': '^{{version}}'
|
||||
utils:
|
||||
peer:
|
||||
"tlds": "^0.203.1"
|
||||
"axios": "^0.19.0"
|
||||
'tlds': '^0.203.1'
|
||||
'axios': '^0.19.0'
|
||||
wahid:
|
||||
peer:
|
||||
"@freesewing/brian": "^{{version}}"
|
||||
"@freesewing/plugin-buttons": "^{{version}}"
|
||||
"@freesewing/plugin-round": "^{{version}}"
|
||||
'@freesewing/brian': '^{{version}}'
|
||||
'@freesewing/plugin-buttons': '^{{version}}'
|
||||
'@freesewing/plugin-round': '^{{version}}'
|
||||
|
|
|
@ -14,7 +14,7 @@ css-theme: 'A CSS theme for FreeSewing web UIs'
|
|||
diana: 'A FreeSewing pattern for a top with a draped neck'
|
||||
examples: 'A FreeSewing pattern holding examples for our documentation'
|
||||
florent: 'A FreeSewing pattern for a flat cap'
|
||||
fu: 'A FreeSewing pattern for a face mask'
|
||||
florence: 'A FreeSewing pattern for a face mask'
|
||||
gatsby-remark-jargon: 'A gatsby-transformer-remark sub-plugin for jargon terms'
|
||||
holmes: 'A FreeSewing pattern for a Sherlock Holmes hat'
|
||||
huey: 'A FreeSewing pattern for a zip-up hoodie'
|
||||
|
@ -23,6 +23,7 @@ i18n: 'Translations for the FreeSewing project'
|
|||
jaeger: 'A FreeSewing pattern for a sport coat style jacket'
|
||||
models: 'Body measurements data for a range of default sizes'
|
||||
mui-theme: 'A Material-UI theme for FreeSewing web UIs'
|
||||
legend: 'A FreeSewing pattern to document pattern notation'
|
||||
pattern-info: 'Information about available freesewing patterns'
|
||||
penelope: 'A FreeSewing pattern for a pencil skirt'
|
||||
plugin-banner: 'A FreeSewing plugin to repeat text on a path'
|
||||
|
@ -30,8 +31,6 @@ plugin-bundle: 'An umbrella package of 8 essential FreeSewing build-time plugins
|
|||
plugin-bust: 'A FreeSewing plugin that helps with bust-adjusting menswear patterns'
|
||||
plugin-buttons: 'A FreeSewing plugin that provides button and buttonhole snippets'
|
||||
plugin-cutonfold: 'A FreeSewing plugin to add cut-on-fold indicators on your patterns'
|
||||
plugin-debug: 'A FreeSewing plugin to log debug info to your browser console'
|
||||
plugin-designer: 'A FreeSewing plugin to facilitate pattern design'
|
||||
plugin-dimension: 'A FreeSewing plugin to add dimensions to your (paperless) pattern'
|
||||
plugin-export-dxf: 'A FreeSewing plugin to export your pattern as DXF-ASTM'
|
||||
plugin-flip: 'A FreeSewing plugin to flip parts horizontally'
|
||||
|
@ -39,6 +38,8 @@ plugin-gore: 'A FreeSewing plugin to generate gores for a semi-sphere or dome'
|
|||
plugin-grainline: 'A FreeSewing plugin to add grainline indicators on your patterns'
|
||||
plugin-i18n: 'A FreeSewing plugin for pattern translation'
|
||||
plugin-logo: 'A FreeSewing plugin to add our logo to your patterns'
|
||||
plugin-measurements: 'A FreeSewing plugin that adds additional measurements that can be calculated from existing ones'
|
||||
plugin-mirror: 'A FreeSewing plugin to mirror points or paths'
|
||||
plugin-round: 'A FreeSewing plugin to round corners'
|
||||
plugin-scalebox: 'A FreeSewing plugin to add a scalebox to your pattern'
|
||||
plugin-sprinkle: 'A FreeSewing plugin to bulk-add snippets to your pattern'
|
||||
|
@ -56,6 +57,7 @@ simone: 'A FreeSewing pattern for a button down shirt (Simone = Simon for people
|
|||
sven: 'A FreeSewing pattern for a straightforward sweater'
|
||||
tamiko: 'A FreeSewing pattern for a zero-waste top'
|
||||
theo: 'A FreeSewing pattern for classic trousers'
|
||||
titan: 'A FreeSewing block for trousers'
|
||||
trayvon: 'A FreeSewing pattern for a tie'
|
||||
tutorial: "A FreeSewing pattern for a baby bib that's used in our tutorial"
|
||||
utils: 'A collection of utilities shared across freesewing frontend projects'
|
||||
|
|
|
@ -18,24 +18,25 @@ packageJson:
|
|||
# react-scripts doesn't handle .mjs files correctly
|
||||
module: '!'
|
||||
files:
|
||||
- "Blockquote/*"
|
||||
- "Draft/*"
|
||||
- "DraftConfigurator/*"
|
||||
- "Emblem/*"
|
||||
- "Example/*"
|
||||
- "Footer/*"
|
||||
- "Icon/*"
|
||||
- "LineDrawing/*"
|
||||
- "Logo/*"
|
||||
- "Navbar/*"
|
||||
- "Ogol/*"
|
||||
- "Robot/*"
|
||||
- "SampleConfigurator/*"
|
||||
- "Spinner/*"
|
||||
- "withGist/*"
|
||||
- "withLanguage/*"
|
||||
- "withStorage/*"
|
||||
- "Workbench/*"
|
||||
- 'Blockquote/*'
|
||||
- 'Draft/*'
|
||||
- 'DraftConfigurator/*'
|
||||
- 'Emblem/*'
|
||||
- 'Example/*'
|
||||
- 'Footer/*'
|
||||
- 'Icon/*'
|
||||
- 'Legend/*'
|
||||
- 'LineDrawing/*'
|
||||
- 'Logo/*'
|
||||
- 'Navbar/*'
|
||||
- 'Ogol/*'
|
||||
- 'Robot/*'
|
||||
- 'SampleConfigurator/*'
|
||||
- 'Spinner/*'
|
||||
- 'withGist/*'
|
||||
- 'withLanguage/*'
|
||||
- 'withStorage/*'
|
||||
- 'Workbench/*'
|
||||
create-freesewing-pattern:
|
||||
bin:
|
||||
create-freesewing-pattern: index.js
|
||||
|
@ -66,9 +67,9 @@ packageJson:
|
|||
plugin-gore:
|
||||
author: AlfaLyr (https://github.com/alfalyr)
|
||||
prettier-config:
|
||||
main: "index.json"
|
||||
main: 'index.json'
|
||||
module: '!'
|
||||
scripts: { build: "echo \"prettier-config: No build required\" && exit 0" }
|
||||
scripts: { build: 'echo "prettier-config: No build required" && exit 0' }
|
||||
keywords:
|
||||
- prettier
|
||||
files:
|
||||
|
@ -80,29 +81,29 @@ packageJson:
|
|||
# react-scripts doesn't handle .mjs files correctly
|
||||
module: '!'
|
||||
files:
|
||||
- "backend/*"
|
||||
- "camelCase/*"
|
||||
- "capitalize/*"
|
||||
- "cloneObject/*"
|
||||
- "convertSize/*"
|
||||
- "defaultGist/*"
|
||||
- "defaultSa/*"
|
||||
- "formatImperial/*"
|
||||
- "formatMm/*"
|
||||
- "measurementAsMm/*"
|
||||
- "measurementDiffers/*"
|
||||
- "neckstimate/*"
|
||||
- "optionDefault/*"
|
||||
- "optionType/*"
|
||||
- "roundMm/*"
|
||||
- "roundMmDown/*"
|
||||
- "roundMmUp/*"
|
||||
- "sliderStep/*"
|
||||
- "smallestImperialStep/*"
|
||||
- "storage/*"
|
||||
- "tiler/*"
|
||||
- "validateEmail/*"
|
||||
- "validateTld/*"
|
||||
- 'backend/*'
|
||||
- 'camelCase/*'
|
||||
- 'capitalize/*'
|
||||
- 'cloneObject/*'
|
||||
- 'convertSize/*'
|
||||
- 'defaultGist/*'
|
||||
- 'defaultSa/*'
|
||||
- 'formatImperial/*'
|
||||
- 'formatMm/*'
|
||||
- 'isDegMeasurement/*'
|
||||
- 'measurementAsMm/*'
|
||||
- 'measurementDiffers/*'
|
||||
- 'neckstimate/*'
|
||||
- 'optionDefault/*'
|
||||
- 'optionType/*'
|
||||
- 'roundMm/*'
|
||||
- 'roundMmDown/*'
|
||||
- 'roundMmUp/*'
|
||||
- 'sliderStep/*'
|
||||
- 'smallestImperialStep/*'
|
||||
- 'storage/*'
|
||||
- 'tiler/*'
|
||||
- 'validateEmail/*'
|
||||
- 'validateTld/*'
|
||||
waralee:
|
||||
author: woutervdub (https://github.com/woutervdub)
|
||||
|
||||
|
|
|
@ -1,11 +1,3 @@
|
|||
# Change log for: {{{fullname}}}
|
||||
|
||||
|
||||
{{{changelog}}}
|
||||
|
||||
## 2.0.0 (2019-08-25)
|
||||
|
||||
This is the **initial release**, and the start of this change log.
|
||||
|
||||
Prior to version 2, FreeSewing was not a JavaScript project.
|
||||
As such, that history is out of scope for this change log.
|
||||
|
|
|
@ -25,7 +25,7 @@ jobs:
|
|||
env:
|
||||
CI: true
|
||||
- name: Install peer & test dependencies
|
||||
run: cd packages/{{ pattern }} && npm install {{{ peerdeps }}} @freesewing/models @freesewing/pattern-info mocha chai
|
||||
run: "cd packages/{{ pattern }} && npm install {{{ peerdeps }}} @freesewing/models@{{{ version }}} @freesewing/pattern-info@{{{ version }}} mocha chai"
|
||||
env:
|
||||
CI: true
|
||||
- name: Build pattern
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"version": "2.5.0",
|
||||
"version": "2.7.2",
|
||||
"npmClient": "yarn",
|
||||
"command": {
|
||||
"publish": {
|
||||
|
|
16
package.json
16
package.json
|
@ -77,12 +77,12 @@
|
|||
"eslint-plugin-promise": "^4.0.0",
|
||||
"eslint-plugin-react": "^7.10.0",
|
||||
"eslint-plugin-standard": "^4.0.1",
|
||||
"fs-extra": "^8.1.0",
|
||||
"fs-extra": "^9.0.1",
|
||||
"gh-pages": "^2.1.1",
|
||||
"husky": "^3.0.5",
|
||||
"js-yaml": "^3.13.1",
|
||||
"husky": "^4.2.5",
|
||||
"js-yaml": "^3.14.0",
|
||||
"jsonlint": "^1.6.3",
|
||||
"lerna": "^3.18.4",
|
||||
"lerna": "^3.20.2",
|
||||
"mocha": "^7.1.1",
|
||||
"mustache": "^4.0.0",
|
||||
"node-sass": "^4.11.0",
|
||||
|
@ -92,19 +92,19 @@
|
|||
"prop-types": "^15.7.2",
|
||||
"react": "^16.8.6",
|
||||
"react-dom": "^16.4.1",
|
||||
"react-intl": "^2.8.0",
|
||||
"react-intl": "^5.4.1",
|
||||
"react-scripts": "^3.0.0",
|
||||
"rimraf": "^3.0.0",
|
||||
"rmfr": "^2.0.0",
|
||||
"rollup": "^1.27.13",
|
||||
"rollup-plugin-babel": "^4.3.2",
|
||||
"rollup-plugin-babel-minify": "^10.0.0",
|
||||
"rollup-plugin-commonjs": "10.0.1",
|
||||
"rollup-plugin-commonjs": "10.1.0",
|
||||
"rollup-plugin-filesize": "^6.2.0",
|
||||
"rollup-plugin-json": "^4.0.0",
|
||||
"rollup-plugin-node-resolve": "5.2.0",
|
||||
"rollup-plugin-peer-deps-external": "^2.2.0",
|
||||
"rollup-plugin-postcss": "^2.0.3",
|
||||
"rollup-plugin-postcss": "^3.1.3",
|
||||
"rollup-plugin-sass": "^1.2.2",
|
||||
"rollup-plugin-terser": "^5.1.2",
|
||||
"rollup-plugin-url": "^2.2.1",
|
||||
|
@ -115,7 +115,7 @@
|
|||
"verdaccio": ">=3.12.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"bezier-js": "2.4.6",
|
||||
"bezier-js": "2.6.1",
|
||||
"file-saver": "2.0.2",
|
||||
"pretty-quick": "^2.0.1",
|
||||
"tlds": "^1.203.1"
|
||||
|
|
|
@ -1,136 +1,38 @@
|
|||
# Change log for: @freesewing/aaron
|
||||
|
||||
## 2.7.1 (2020-07-24)
|
||||
|
||||
## Unreleased
|
||||
### Fixed
|
||||
|
||||
**Note:** Version bump only for package aaron
|
||||
- Set missing option `brianFitCollar` to `false`
|
||||
|
||||
## 2.7.0 (2020-07-12)
|
||||
|
||||
## 2.5.0 (2020-04-05)
|
||||
### Changed
|
||||
|
||||
**Note:** Version bump only for package aaron
|
||||
- Updated side seam shaping and tweaked options for better defaults
|
||||
- Better handling of `armholeDrop` option
|
||||
- Ported aaron to the new (names for) measurements. See [#416](https://github.com/freesewing/freesewing/issues/416)
|
||||
- Removed `Circumference` suffix from measurement names
|
||||
- Report armhole and neck opening length through raised events
|
||||
|
||||
### Fixed
|
||||
|
||||
## 2.4.6 (2020-03-23)
|
||||
|
||||
**Note:** Version bump only for package aaron
|
||||
|
||||
|
||||
## 2.4.5 (2020-03-19)
|
||||
|
||||
**Note:** Version bump only for package aaron
|
||||
|
||||
|
||||
## 2.4.4 (2020-03-15)
|
||||
|
||||
**Note:** Version bump only for package aaron
|
||||
|
||||
|
||||
## 2.4.3 (2020-03-12)
|
||||
|
||||
**Note:** Version bump only for package aaron
|
||||
|
||||
|
||||
## 2.4.2 (2020-03-08)
|
||||
|
||||
**Note:** Version bump only for package aaron
|
||||
|
||||
|
||||
## 2.4.1 (2020-03-04)
|
||||
|
||||
**Note:** Version bump only for package aaron
|
||||
|
||||
|
||||
## 2.4.0 (2020-02-29)
|
||||
|
||||
**Note:** Version bump only for package aaron
|
||||
|
||||
|
||||
## 2.3.0 (2020-02-23)
|
||||
|
||||
**Note:** Version bump only for package aaron
|
||||
|
||||
- Fixed incorrect instruction for neck binding (the indicated length was only half)
|
||||
|
||||
## 2.2.0 (2020-02-22)
|
||||
|
||||
### Changed
|
||||
|
||||
- Removed deprecated `centerBackNeckToWaist` measurement
|
||||
## 2.1.9 (2020-01-18)
|
||||
|
||||
**Note:** Version bump only for package aaron
|
||||
|
||||
|
||||
## 2.1.8 (2019-12-16)
|
||||
|
||||
**Note:** Version bump only for package aaron
|
||||
|
||||
|
||||
## 2.1.7 (2019-12-15)
|
||||
|
||||
**Note:** Version bump only for package aaron
|
||||
|
||||
|
||||
## 2.1.6 (2019-11-24)
|
||||
|
||||
**Note:** Version bump only for package aaron
|
||||
|
||||
|
||||
## 2.1.5 (2019-11-19)
|
||||
|
||||
**Note:** Version bump only for package aaron
|
||||
|
||||
|
||||
## 2.1.4 (2019-11-01)
|
||||
|
||||
**Note:** Version bump only for package aaron
|
||||
|
||||
|
||||
## 2.1.3 (2019-10-18)
|
||||
|
||||
**Note:** Version bump only for package aaron
|
||||
|
||||
|
||||
## 2.1.2 (2019-10-14)
|
||||
|
||||
**Note:** Version bump only for package aaron
|
||||
|
||||
|
||||
## 2.1.1 (2019-10-13)
|
||||
|
||||
**Note:** Version bump only for package aaron
|
||||
|
||||
|
||||
## 2.1.0 (2019-10-06)
|
||||
|
||||
**Note:** Version bump only for package aaron
|
||||
|
||||
|
||||
## 2.0.4 (2019-09-27)
|
||||
|
||||
**Note:** Version bump only for package aaron
|
||||
|
||||
|
||||
## 2.0.3 (2019-09-15)
|
||||
|
||||
**Note:** Version bump only for package aaron
|
||||
|
||||
|
||||
## 2.0.2 (2019-09-06)
|
||||
|
||||
**Note:** Version bump only for package aaron
|
||||
|
||||
|
||||
## 2.0.1 (2019-09-01)
|
||||
|
||||
**Note:** Version bump only for package aaron
|
||||
|
||||
|
||||
|
||||
- Removed deprecated `centerBackNeckToWaist` measurement
|
||||
|
||||
## 2.0.0 (2019-08-25)
|
||||
|
||||
### Added
|
||||
|
||||
- Initial release
|
||||
|
||||
This is the **initial release**, and the start of this change log.
|
||||
|
||||
Prior to version 2, FreeSewing was not a JavaScript project.
|
||||
As such, that history is out of scope for this change log.
|
||||
> Prior to version 2, FreeSewing was not a JavaScript project.
|
||||
> As such, that history is out of scope for this change log.
|
||||
|
|
|
@ -22,14 +22,14 @@ export default {
|
|||
]
|
||||
},
|
||||
measurements: [
|
||||
'bicepsCircumference',
|
||||
'chestCircumference',
|
||||
'hpsToHipsBack',
|
||||
'naturalWaistToHip',
|
||||
'neckCircumference',
|
||||
'biceps',
|
||||
'chest',
|
||||
'hpsToWaistBack',
|
||||
'waistToHips',
|
||||
'neck',
|
||||
'shoulderSlope',
|
||||
'shoulderToShoulder',
|
||||
'hipsCircumference'
|
||||
'hips'
|
||||
],
|
||||
dependencies: {
|
||||
front: 'base',
|
||||
|
@ -42,6 +42,7 @@ export default {
|
|||
hide: ['base'],
|
||||
options: {
|
||||
// Constants
|
||||
brianFitCollar: false,
|
||||
collarFactor: 4.8,
|
||||
acrossBackFactor: 0.97,
|
||||
backNeckCutout: 0.05,
|
||||
|
@ -53,8 +54,8 @@ export default {
|
|||
shoulderSlopeReduction: 0,
|
||||
|
||||
// Percentages
|
||||
armholeDrop: { pct: 10, min: 1, max: 75 },
|
||||
backlineBend: { pct: 50, min: 50, max: 100 },
|
||||
armholeDrop: { pct: 10, min: 0, max: 75 },
|
||||
backlineBend: { pct: 50, min: 25, max: 100 },
|
||||
chestEase: { pct: 8, min: 0, max: 20 },
|
||||
hipsEase: { pct: 8, min: 0, max: 20 },
|
||||
lengthBonus: { pct: 10, min: -20, max: 60 },
|
||||
|
|
|
@ -16,15 +16,16 @@
|
|||
"@freesewing/plugin-i18n": "latest",
|
||||
"@freesewing/plugin-svgattr": "latest",
|
||||
"@freesewing/utils": "latest",
|
||||
"@material-ui/core": "^4.4.0",
|
||||
"@material-ui/icons": "^4.2.1",
|
||||
"@material-ui/lab": "^v4.0.0-alpha.25",
|
||||
"@material-ui/core": "^4.11.0",
|
||||
"@material-ui/icons": "^4.9.1",
|
||||
"@material-ui/lab": "^v4.0.0-alpha.56",
|
||||
"pattern": "link:..",
|
||||
"prismjs": "1.17.1",
|
||||
"react": "^16.9",
|
||||
"react-dom": "^16.9",
|
||||
"react-scripts": "^3.1.1",
|
||||
"prismjs": "1.20.0",
|
||||
"react": "^16.13",
|
||||
"react-dom": "^16.13",
|
||||
"react-scripts": "^3.4.1",
|
||||
"file-saver": "^2.0.2",
|
||||
"react-markdown": "4.3.1",
|
||||
"typeface-roboto-condensed": "latest"
|
||||
},
|
||||
"scripts": {
|
||||
|
@ -43,6 +44,6 @@
|
|||
"not op_mini all"
|
||||
],
|
||||
"devDependencies": {
|
||||
"babel-plugin-prismjs": "1.1.1"
|
||||
"babel-plugin-prismjs": "2.0.1"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,16 +6,23 @@ import '@freesewing/css-theme'
|
|||
|
||||
import Pattern from 'pattern'
|
||||
|
||||
const App = props => {
|
||||
const App = (props) => {
|
||||
let instance = new Pattern()
|
||||
let config = instance.config
|
||||
|
||||
// You can use this to add transations
|
||||
let translations = {
|
||||
JSON: 'JSON',
|
||||
someOtherString: 'Some other string that needs translation'
|
||||
}
|
||||
|
||||
return (
|
||||
<Workbench
|
||||
freesewing={freesewing}
|
||||
Pattern={Pattern}
|
||||
config={config}
|
||||
userLanguage="en"
|
||||
translations={translations}
|
||||
/>
|
||||
)
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@freesewing/aaron",
|
||||
"version": "2.5.0",
|
||||
"version": "2.7.2",
|
||||
"description": "A FreeSewing pattern for a A-shirt or tank top",
|
||||
"author": "Joost De Cock <joost@decock.org> (https://github.com/joostdecock)",
|
||||
"homepage": "https://freesewing.org/",
|
||||
|
@ -34,9 +34,9 @@
|
|||
"testci": "BABEL_ENV=production ./node_modules/.bin/_mocha tests/*.test.js --require @babel/register"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@freesewing/core": "^2.5.0",
|
||||
"@freesewing/plugin-bundle": "^2.5.0",
|
||||
"@freesewing/brian": "^2.5.0"
|
||||
"@freesewing/core": "^2.7.2",
|
||||
"@freesewing/plugin-bundle": "^2.7.2",
|
||||
"@freesewing/brian": "^2.7.2"
|
||||
},
|
||||
"dependencies": {},
|
||||
"devDependencies": {
|
||||
|
@ -47,14 +47,14 @@
|
|||
"eslint": "^5.16.0",
|
||||
"babel-jest": "24.7.1",
|
||||
"jest": "24.7.1",
|
||||
"@freesewing/components": "^2.5.0",
|
||||
"@freesewing/css-theme": "^2.5.0",
|
||||
"@freesewing/i18n": "^2.5.0",
|
||||
"@freesewing/mui-theme": "^2.5.0",
|
||||
"@freesewing/plugin-bust": "^2.5.0",
|
||||
"@freesewing/plugin-buttons": "^2.5.0",
|
||||
"@freesewing/plugin-flip": "^2.5.0",
|
||||
"@freesewing/utils": "^2.5.0",
|
||||
"@freesewing/components": "^2.7.2",
|
||||
"@freesewing/css-theme": "^2.7.2",
|
||||
"@freesewing/i18n": "^2.7.2",
|
||||
"@freesewing/mui-theme": "^2.7.2",
|
||||
"@freesewing/plugin-bust": "^2.7.2",
|
||||
"@freesewing/plugin-buttons": "^2.7.2",
|
||||
"@freesewing/plugin-flip": "^2.7.2",
|
||||
"@freesewing/utils": "^2.7.2",
|
||||
"@svgr/rollup": "^2.4.1",
|
||||
"cross-env": "^5.1.4",
|
||||
"gh-pages": "^1.2.0",
|
||||
|
@ -67,12 +67,12 @@
|
|||
"rollup-plugin-json": "^3.1.0",
|
||||
"rollup-plugin-node-resolve": "^3.3.0",
|
||||
"rollup-plugin-peer-deps-external": "^2.2.0",
|
||||
"rollup-plugin-postcss": "^1.6.2",
|
||||
"rollup-plugin-postcss": "^3.1.3",
|
||||
"rollup-plugin-url": "^1.4.0",
|
||||
"@material-ui/core": "4.0.1",
|
||||
"@material-ui/icons": "4.0.1",
|
||||
"@material-ui/lab": "^v4.0.0-alpha.14",
|
||||
"react-intl": "2.8.0",
|
||||
"react-intl": "5.4.1",
|
||||
"prop-types": "15.7.2",
|
||||
"mocha": "^6.1.4",
|
||||
"chai": "^4.1.2",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { dimensions } from './shared'
|
||||
|
||||
export default function(part) {
|
||||
export default function (part) {
|
||||
let {
|
||||
store,
|
||||
sa,
|
||||
|
@ -13,9 +13,13 @@ export default function(part) {
|
|||
paperless,
|
||||
macro,
|
||||
utils,
|
||||
units
|
||||
units,
|
||||
measurements
|
||||
} = part.shorthand()
|
||||
|
||||
// Lower back neck a bit
|
||||
points.cbNeck.y = measurements.neck / 10
|
||||
|
||||
points.strapLeftCp2 = utils.beamsIntersect(
|
||||
points.strapLeft,
|
||||
points.strapCenter.rotate(90, points.strapLeft),
|
||||
|
@ -23,7 +27,7 @@ export default function(part) {
|
|||
points.cbNeck.shift(0, 10)
|
||||
)
|
||||
|
||||
points.armholeCp2 = points.aaronArmhole.shiftFractionTowards(
|
||||
points.armholeCp2 = points.armhole.shiftFractionTowards(
|
||||
points.armholeCorner,
|
||||
options.backlineBend
|
||||
)
|
||||
|
@ -32,15 +36,17 @@ export default function(part) {
|
|||
options.backlineBend
|
||||
)
|
||||
|
||||
points.anchor = points.cbNeck.clone()
|
||||
|
||||
// Seamline
|
||||
paths.seam = new Path()
|
||||
.move(points.cbNeck)
|
||||
.line(points.cbHem)
|
||||
.line(points.hem)
|
||||
.line(points.waist)
|
||||
.join(paths.side)
|
||||
.curve_(points.hipsCp2, points.armhole)
|
||||
.curve(points.armholeCp2, points.strapRightCp1, points.strapRight)
|
||||
.line(points.strapLeft)
|
||||
.line(points.strapLeft)
|
||||
.curve(points.strapLeftCp2, points.cbNeck, points.cbNeck)
|
||||
.close()
|
||||
.attr('class', 'fabric')
|
||||
|
@ -54,15 +60,15 @@ export default function(part) {
|
|||
.length() + store.get('frontNeckOpeningLength')
|
||||
let armholeLength =
|
||||
new Path()
|
||||
.move(points.aaronArmhole)
|
||||
.move(points.armhole)
|
||||
.curve(points.armholeCp2, points.strapRightCp1, points.strapRight)
|
||||
.length() + store.get('frontArmholeLength')
|
||||
points.bindinAnchor = new Point(points.aaronArmhole.x / 4, points.aaronArmhole.y)
|
||||
points.bindinAnchor = new Point(points.armhole.x / 4, points.armhole.y)
|
||||
.attr('data-text', 'cutTwoStripsToFinishTheArmholes')
|
||||
.attr('data-text', ':\n')
|
||||
.attr('data-text', 'width')
|
||||
.attr('data-text', ':')
|
||||
.attr('data-text', units(sa * 6))
|
||||
.attr('data-text', units(sa * 6 || 60))
|
||||
.attr('data-text', '\n')
|
||||
.attr('data-text', 'length')
|
||||
.attr('data-text', ':')
|
||||
|
@ -76,7 +82,7 @@ export default function(part) {
|
|||
.attr('data-text', '\n')
|
||||
.attr('data-text', 'length')
|
||||
.attr('data-text', ':')
|
||||
.attr('data-text', units(neckOpeningLength * 0.95 + 2 * sa))
|
||||
.attr('data-text', units(neckOpeningLength * 2 * 0.95 + 2 * sa))
|
||||
.attr('data-text-lineheight', 6)
|
||||
|
||||
macro('cutonfold', {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { dimensions } from './shared'
|
||||
|
||||
export default function(part) {
|
||||
export default function (part) {
|
||||
let {
|
||||
utils,
|
||||
store,
|
||||
|
@ -24,14 +24,13 @@ export default function(part) {
|
|||
// Handle stretch
|
||||
for (let i in points) points[i].x = points[i].x * (1 - options.stretchFactor)
|
||||
|
||||
// Rename cb (center back) to cf (center front)
|
||||
for (let key of ['Neck', 'Shoulder', 'Armhole', 'Waist', 'Hips', 'Hem']) {
|
||||
points[`cf${key}`] = new Point(points[`cb${key}`].x, points[`cb${key}`].y)
|
||||
//delete points[`cb${key}`];
|
||||
// Clone cb (center back) into cf (center front)
|
||||
for (let key of ['Neck', 'Shoulder', 'Armhole', 'Hips', 'Hem']) {
|
||||
points[`cf${key}`] = points[`cb${key}`].clone()
|
||||
}
|
||||
|
||||
// Neckline
|
||||
points.cfNeck = points.cfNeck.shift(-90, options.necklineDrop * measurements.hpsToHipsBack)
|
||||
points.cfNeck = points.cfNeck.shift(-90, options.necklineDrop * measurements.hpsToWaistBack)
|
||||
|
||||
// Strap
|
||||
points.strapCenter = points.neck.shiftFractionTowards(
|
||||
|
@ -55,49 +54,45 @@ export default function(part) {
|
|||
)
|
||||
points.cfNeckCp1 = points.cfNeck.shiftFractionTowards(points.necklineCorner, options.necklineBend)
|
||||
|
||||
// This will come in handy
|
||||
store.set('armholeY', points.armhole.y * (1 + options.armholeDrop))
|
||||
|
||||
// Hips
|
||||
points.hips.x =
|
||||
((measurements.hipsCircumference + options.hipsEase * measurements.hipsCircumference) / 4) *
|
||||
(1 - options.stretchFactor)
|
||||
((measurements.hips + options.hipsEase * measurements.hips) / 4) * (1 - options.stretchFactor)
|
||||
points.waist.x = points.hips.x // Because stretch
|
||||
points.waistCp2 = points.waist.shift(90, points.armhole.dy(points.waist) / 2)
|
||||
|
||||
points.hipsCp2 = new Point(
|
||||
points.hips.x,
|
||||
store.get('armholeY') + (points.hips.y - store.get('armholeY')) / 2
|
||||
)
|
||||
|
||||
// Hem
|
||||
points.hem.x = points.hips.x
|
||||
|
||||
// Keep armhole drop from going below the wait line
|
||||
let dropY = points.armhole.y * (1 + options.armholeDrop)
|
||||
if (dropY >= points.waist.y) {
|
||||
paths.side = new Path().move(points.hem).line(points.waist)
|
||||
points.aaronArmhole = points.waist
|
||||
} else {
|
||||
let side = new Path()
|
||||
.move(points.hem)
|
||||
.line(points.waist)
|
||||
.curve(points.waistCp2, points.armhole, points.armhole)
|
||||
let split = side.intersectsY(points.armhole.y * (1 + options.armholeDrop)).pop()
|
||||
points.aaronArmhole = split
|
||||
paths.side = side.split(split)[0]
|
||||
}
|
||||
paths.side.render = false
|
||||
|
||||
// Armhole
|
||||
points.armhole = utils.beamIntersectsY(
|
||||
points.armhole,
|
||||
points.hips,
|
||||
points.armhole.y * (1 + options.armholeDrop)
|
||||
)
|
||||
points.armholeCorner = utils.beamsIntersect(
|
||||
points.aaronArmhole,
|
||||
points.aaronArmhole.shift(180, 10),
|
||||
points.armhole,
|
||||
points.armhole.shift(180, 10),
|
||||
points.strapRight,
|
||||
points.strapLeft.rotate(90, points.strapRight)
|
||||
)
|
||||
points.armholeCp2 = points.aaronArmhole.shiftFractionTowards(points.armholeCorner, 0.8)
|
||||
points.strapRightCp1 = points.strapRight.shiftFractionTowards(points.armholeCorner, 0.6)
|
||||
points.armholeCp2 = points.armhole.shiftFractionTowards(points.armholeCorner, 0.5)
|
||||
points.strapRightCp1 = points.strapRight.shiftFractionTowards(points.armholeCorner, 0.5)
|
||||
|
||||
points.anchor = points.cfNeck.clone()
|
||||
|
||||
// Seamline
|
||||
paths.seam = new Path()
|
||||
.move(points.cfNeck)
|
||||
.line(points.cfHem)
|
||||
.line(points.hem)
|
||||
.line(points.waist)
|
||||
.join(paths.side)
|
||||
.curve_(points.hipsCp2, points.armhole)
|
||||
.curve(points.armholeCp2, points.strapRightCp1, points.strapRight)
|
||||
.line(points.strapLeft)
|
||||
.curve(points.strapLeftCp2, points.cfNeckCp1, points.cfNeck)
|
||||
|
@ -108,7 +103,7 @@ export default function(part) {
|
|||
store.set(
|
||||
'frontArmholeLength',
|
||||
new Path()
|
||||
.move(points.aaronArmhole)
|
||||
.move(points.armhole)
|
||||
.curve(points.armholeCp2, points.strapRightCp1, points.strapRight)
|
||||
.length()
|
||||
)
|
||||
|
@ -133,24 +128,30 @@ export default function(part) {
|
|||
snippets.logo = new Snippet('logo', points.logo)
|
||||
|
||||
if (sa) {
|
||||
let saShoulder = new Path().move(points.strapRight).line(points.strapLeft).offset(sa)
|
||||
paths.saShoulder = new Path()
|
||||
.move(points.strapRight)
|
||||
.line(points.strapLeft)
|
||||
.offset(sa)
|
||||
.line(saShoulder.start())
|
||||
.join(saShoulder)
|
||||
.line(points.strapLeft)
|
||||
.attr('class', 'fabric sa')
|
||||
paths.saShoulder.move(points.strapRight).line(paths.saShoulder.start())
|
||||
paths.saSide = paths.side
|
||||
.offset(sa)
|
||||
.line(points.aaronArmhole)
|
||||
.attr('class', 'fabric sa')
|
||||
paths.saHem = new Path()
|
||||
paths.sa = new Path()
|
||||
.move(points.cfHem)
|
||||
.line(points.hem)
|
||||
.offset(sa * 2.5)
|
||||
.line(points.cfHem)
|
||||
.join(
|
||||
new Path()
|
||||
.move(points.cfHem)
|
||||
.line(points.hem)
|
||||
.offset(sa * 2.5)
|
||||
)
|
||||
.join(
|
||||
new Path()
|
||||
.move(points.hem)
|
||||
.curve_(points.waist, points.armhole)
|
||||
.offset(sa)
|
||||
.line(points.armhole)
|
||||
)
|
||||
.attr('class', 'fabric sa')
|
||||
.line(paths.saSide.start())
|
||||
paths.saHem.move(points.cfHem).line(paths.saHem.start())
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -16,22 +16,22 @@ export function dimensions(macro, points, sa) {
|
|||
})
|
||||
macro('vd', {
|
||||
from: points.hem,
|
||||
to: points.aaronArmhole,
|
||||
x: points.aaronArmhole.x + sa + 15
|
||||
to: points.armhole,
|
||||
x: points.armhole.x + sa + 15
|
||||
})
|
||||
macro('vd', {
|
||||
from: points.hem,
|
||||
to: points.strapRight,
|
||||
x: points.aaronArmhole.x + sa + 30
|
||||
x: points.armhole.x + sa + 30
|
||||
})
|
||||
macro('vd', {
|
||||
from: points.hem,
|
||||
to: points.strapLeft,
|
||||
x: points.aaronArmhole.x + sa + 45
|
||||
x: points.armhole.x + sa + 45
|
||||
})
|
||||
macro('hd', {
|
||||
from: points.cfNeck,
|
||||
to: points.aaronArmhole,
|
||||
to: points.armhole,
|
||||
y: points.neck.y - sa - 45
|
||||
})
|
||||
}
|
||||
|
|
|
@ -1,136 +1,24 @@
|
|||
# Change log for: @freesewing/benjamin
|
||||
|
||||
## 2.7.0 (2020-07-12)
|
||||
|
||||
## Unreleased
|
||||
|
||||
**Note:** Version bump only for package benjamin
|
||||
|
||||
|
||||
## 2.5.0 (2020-04-05)
|
||||
|
||||
**Note:** Version bump only for package benjamin
|
||||
|
||||
|
||||
## 2.4.6 (2020-03-23)
|
||||
|
||||
**Note:** Version bump only for package benjamin
|
||||
|
||||
|
||||
## 2.4.5 (2020-03-19)
|
||||
|
||||
**Note:** Version bump only for package benjamin
|
||||
|
||||
|
||||
## 2.4.4 (2020-03-15)
|
||||
|
||||
**Note:** Version bump only for package benjamin
|
||||
|
||||
|
||||
## 2.4.3 (2020-03-12)
|
||||
|
||||
**Note:** Version bump only for package benjamin
|
||||
|
||||
|
||||
## 2.4.2 (2020-03-08)
|
||||
|
||||
**Note:** Version bump only for package benjamin
|
||||
|
||||
|
||||
## 2.4.1 (2020-03-04)
|
||||
|
||||
**Note:** Version bump only for package benjamin
|
||||
|
||||
|
||||
## 2.4.0 (2020-02-29)
|
||||
|
||||
**Note:** Version bump only for package benjamin
|
||||
|
||||
|
||||
## 2.3.0 (2020-02-23)
|
||||
|
||||
**Note:** Version bump only for package benjamin
|
||||
|
||||
|
||||
## 2.2.0 (2020-02-22)
|
||||
|
||||
**Note:** Version bump only for package benjamin
|
||||
|
||||
|
||||
## 2.1.9 (2020-01-18)
|
||||
|
||||
**Note:** Version bump only for package benjamin
|
||||
|
||||
|
||||
## 2.1.8 (2019-12-16)
|
||||
|
||||
**Note:** Version bump only for package benjamin
|
||||
|
||||
|
||||
## 2.1.7 (2019-12-15)
|
||||
|
||||
**Note:** Version bump only for package benjamin
|
||||
|
||||
|
||||
## 2.1.6 (2019-11-24)
|
||||
|
||||
**Note:** Version bump only for package benjamin
|
||||
|
||||
|
||||
## 2.1.5 (2019-11-19)
|
||||
|
||||
**Note:** Version bump only for package benjamin
|
||||
|
||||
|
||||
## 2.1.4 (2019-11-01)
|
||||
|
||||
**Note:** Version bump only for package benjamin
|
||||
|
||||
|
||||
## 2.1.3 (2019-10-18)
|
||||
|
||||
**Note:** Version bump only for package benjamin
|
||||
|
||||
|
||||
## 2.1.2 (2019-10-14)
|
||||
|
||||
**Note:** Version bump only for package benjamin
|
||||
|
||||
|
||||
## 2.1.1 (2019-10-13)
|
||||
|
||||
**Note:** Version bump only for package benjamin
|
||||
|
||||
|
||||
## 2.1.0 (2019-10-06)
|
||||
|
||||
**Note:** Version bump only for package benjamin
|
||||
|
||||
|
||||
## 2.0.4 (2019-09-27)
|
||||
|
||||
**Note:** Version bump only for package benjamin
|
||||
|
||||
|
||||
## 2.0.3 (2019-09-15)
|
||||
|
||||
**Note:** Version bump only for package benjamin
|
||||
### Changed
|
||||
|
||||
- Removed `Circumference` suffix from measurement names
|
||||
|
||||
## 2.0.2 (2019-09-06)
|
||||
|
||||
### Fixed
|
||||
|
||||
- Added bandLength option to fit optiongroup (it was missing)
|
||||
## 2.0.1 (2019-09-01)
|
||||
|
||||
**Note:** Version bump only for package benjamin
|
||||
|
||||
|
||||
|
||||
- Added bandLength option to fit optiongroup (it was missing)
|
||||
|
||||
## 2.0.0 (2019-08-25)
|
||||
|
||||
### Added
|
||||
|
||||
- Initial release
|
||||
|
||||
This is the **initial release**, and the start of this change log.
|
||||
|
||||
Prior to version 2, FreeSewing was not a JavaScript project.
|
||||
As such, that history is out of scope for this change log.
|
||||
> Prior to version 2, FreeSewing was not a JavaScript project.
|
||||
> As such, that history is out of scope for this change log.
|
||||
|
|
|
@ -13,7 +13,7 @@ export default {
|
|||
fit: ['collarEase', 'adjustmentRibbon'],
|
||||
style: ['tipWidth', 'knotWidth', 'bowLength', 'bowStyle', 'endStyle']
|
||||
},
|
||||
measurements: ['neckCircumference'],
|
||||
measurements: ['neck'],
|
||||
dependencies: {},
|
||||
inject: {
|
||||
bow1: 'base',
|
||||
|
|
|
@ -16,15 +16,16 @@
|
|||
"@freesewing/plugin-i18n": "latest",
|
||||
"@freesewing/plugin-svgattr": "latest",
|
||||
"@freesewing/utils": "latest",
|
||||
"@material-ui/core": "^4.4.0",
|
||||
"@material-ui/icons": "^4.2.1",
|
||||
"@material-ui/lab": "^v4.0.0-alpha.25",
|
||||
"@material-ui/core": "^4.11.0",
|
||||
"@material-ui/icons": "^4.9.1",
|
||||
"@material-ui/lab": "^v4.0.0-alpha.56",
|
||||
"pattern": "link:..",
|
||||
"prismjs": "1.17.1",
|
||||
"react": "^16.9",
|
||||
"react-dom": "^16.9",
|
||||
"react-scripts": "^3.1.1",
|
||||
"prismjs": "1.20.0",
|
||||
"react": "^16.13",
|
||||
"react-dom": "^16.13",
|
||||
"react-scripts": "^3.4.1",
|
||||
"file-saver": "^2.0.2",
|
||||
"react-markdown": "4.3.1",
|
||||
"typeface-roboto-condensed": "latest"
|
||||
},
|
||||
"scripts": {
|
||||
|
@ -43,6 +44,6 @@
|
|||
"not op_mini all"
|
||||
],
|
||||
"devDependencies": {
|
||||
"babel-plugin-prismjs": "1.1.1"
|
||||
"babel-plugin-prismjs": "2.0.1"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,16 +6,23 @@ import '@freesewing/css-theme'
|
|||
|
||||
import Pattern from 'pattern'
|
||||
|
||||
const App = props => {
|
||||
const App = (props) => {
|
||||
let instance = new Pattern()
|
||||
let config = instance.config
|
||||
|
||||
// You can use this to add transations
|
||||
let translations = {
|
||||
JSON: 'JSON',
|
||||
someOtherString: 'Some other string that needs translation'
|
||||
}
|
||||
|
||||
return (
|
||||
<Workbench
|
||||
freesewing={freesewing}
|
||||
Pattern={Pattern}
|
||||
config={config}
|
||||
userLanguage="en"
|
||||
translations={translations}
|
||||
/>
|
||||
)
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@freesewing/benjamin",
|
||||
"version": "2.5.0",
|
||||
"version": "2.7.2",
|
||||
"description": "A FreeSewing pattern for a bow tie",
|
||||
"author": "woutervdub (https://github.com/woutervdub)",
|
||||
"homepage": "https://freesewing.org/",
|
||||
|
@ -34,8 +34,8 @@
|
|||
"testci": "BABEL_ENV=production ./node_modules/.bin/_mocha tests/*.test.js --require @babel/register"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@freesewing/core": "^2.5.0",
|
||||
"@freesewing/plugin-bundle": "^2.5.0"
|
||||
"@freesewing/core": "^2.7.2",
|
||||
"@freesewing/plugin-bundle": "^2.7.2"
|
||||
},
|
||||
"dependencies": {},
|
||||
"devDependencies": {
|
||||
|
@ -46,14 +46,14 @@
|
|||
"eslint": "^5.16.0",
|
||||
"babel-jest": "24.7.1",
|
||||
"jest": "24.7.1",
|
||||
"@freesewing/components": "^2.5.0",
|
||||
"@freesewing/css-theme": "^2.5.0",
|
||||
"@freesewing/i18n": "^2.5.0",
|
||||
"@freesewing/mui-theme": "^2.5.0",
|
||||
"@freesewing/plugin-bust": "^2.5.0",
|
||||
"@freesewing/plugin-buttons": "^2.5.0",
|
||||
"@freesewing/plugin-flip": "^2.5.0",
|
||||
"@freesewing/utils": "^2.5.0",
|
||||
"@freesewing/components": "^2.7.2",
|
||||
"@freesewing/css-theme": "^2.7.2",
|
||||
"@freesewing/i18n": "^2.7.2",
|
||||
"@freesewing/mui-theme": "^2.7.2",
|
||||
"@freesewing/plugin-bust": "^2.7.2",
|
||||
"@freesewing/plugin-buttons": "^2.7.2",
|
||||
"@freesewing/plugin-flip": "^2.7.2",
|
||||
"@freesewing/utils": "^2.7.2",
|
||||
"@svgr/rollup": "^2.4.1",
|
||||
"cross-env": "^5.1.4",
|
||||
"gh-pages": "^1.2.0",
|
||||
|
@ -66,12 +66,12 @@
|
|||
"rollup-plugin-json": "^3.1.0",
|
||||
"rollup-plugin-node-resolve": "^3.3.0",
|
||||
"rollup-plugin-peer-deps-external": "^2.2.0",
|
||||
"rollup-plugin-postcss": "^1.6.2",
|
||||
"rollup-plugin-postcss": "^3.1.3",
|
||||
"rollup-plugin-url": "^1.4.0",
|
||||
"@material-ui/core": "4.0.1",
|
||||
"@material-ui/icons": "4.0.1",
|
||||
"@material-ui/lab": "^v4.0.0-alpha.14",
|
||||
"react-intl": "2.8.0",
|
||||
"react-intl": "5.4.1",
|
||||
"prop-types": "15.7.2",
|
||||
"mocha": "^6.1.4",
|
||||
"chai": "^4.1.2",
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
export default function(part) {
|
||||
export default function (part) {
|
||||
let {
|
||||
store,
|
||||
sa,
|
||||
|
@ -25,7 +25,7 @@ export default function(part) {
|
|||
'bowLength',
|
||||
'collarEase'
|
||||
])
|
||||
store.set(option, measurements.neckCircumference * options[option])
|
||||
store.set(option, measurements.neck * options[option])
|
||||
|
||||
if (options.adjustmentRibbon) {
|
||||
store.set('ribbonWidth', Math.max(options.adjustmentRibbonWidth, store.get('ribbonWidth')))
|
||||
|
@ -68,10 +68,7 @@ export default function(part) {
|
|||
if (options.endStyle === 'straight') {
|
||||
paths.cap = new Path().move(points.tip2Bottom).line(points.tip2Top)
|
||||
} else if (options.endStyle === 'pointed') {
|
||||
paths.cap = new Path()
|
||||
.move(points.tip2Bottom)
|
||||
.line(points.tip)
|
||||
.line(points.tip2Top)
|
||||
paths.cap = new Path().move(points.tip2Bottom).line(points.tip).line(points.tip2Top)
|
||||
} else {
|
||||
points.roundBottom = new Point(points.tip.x, points.tip2Bottom.y)
|
||||
points.roundTop = points.roundBottom.flipY()
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
export default function(part) {
|
||||
export default function (part) {
|
||||
let {
|
||||
Point,
|
||||
Path,
|
||||
|
@ -21,10 +21,7 @@ export default function(part) {
|
|||
// Points
|
||||
points.bottomLeft = new Point(0, 0.5 * store.get('ribbonWidth'))
|
||||
points.topLeft = points.bottomLeft.flipY()
|
||||
points.bottomRight = points.bottomLeft.shift(
|
||||
0,
|
||||
measurements.neckCircumference * (1 + options.collarEase)
|
||||
)
|
||||
points.bottomRight = points.bottomLeft.shift(0, measurements.neck * (1 + options.collarEase))
|
||||
points.topRight = points.bottomRight.flipY()
|
||||
points.titleAnchor = points.topLeft.shiftFractionTowards(points.bottomRight, 0.5)
|
||||
|
||||
|
|
|
@ -1,136 +1,29 @@
|
|||
# Change log for: @freesewing/bent
|
||||
|
||||
## 2.7.0 (2020-07-12)
|
||||
|
||||
## Unreleased
|
||||
|
||||
**Note:** Version bump only for package bent
|
||||
|
||||
|
||||
## 2.5.0 (2020-04-05)
|
||||
|
||||
**Note:** Version bump only for package bent
|
||||
|
||||
|
||||
## 2.4.6 (2020-03-23)
|
||||
|
||||
**Note:** Version bump only for package bent
|
||||
|
||||
|
||||
## 2.4.5 (2020-03-19)
|
||||
|
||||
**Note:** Version bump only for package bent
|
||||
|
||||
|
||||
## 2.4.4 (2020-03-15)
|
||||
|
||||
**Note:** Version bump only for package bent
|
||||
|
||||
|
||||
## 2.4.3 (2020-03-12)
|
||||
|
||||
**Note:** Version bump only for package bent
|
||||
|
||||
|
||||
## 2.4.2 (2020-03-08)
|
||||
|
||||
**Note:** Version bump only for package bent
|
||||
|
||||
|
||||
## 2.4.1 (2020-03-04)
|
||||
|
||||
**Note:** Version bump only for package bent
|
||||
|
||||
|
||||
## 2.4.0 (2020-02-29)
|
||||
|
||||
**Note:** Version bump only for package bent
|
||||
|
||||
|
||||
## 2.3.0 (2020-02-23)
|
||||
|
||||
**Note:** Version bump only for package bent
|
||||
### Changed
|
||||
|
||||
- Increased default for the `cuffEase` option
|
||||
- Decreased default for the `armholeDepth` option
|
||||
- Better range for the `shoulderSlopeReduction` measurement
|
||||
- Ported brian to the new (names for) other measurements. See [#416](https://github.com/freesewing/freesewing/issues/416)
|
||||
- Set tip of undersleeve as anchor point for sampling
|
||||
- Removed `Circumference` suffix from measurement names
|
||||
|
||||
## 2.2.0 (2020-02-22)
|
||||
|
||||
### Changed
|
||||
|
||||
- Removed deprecated `centerBackNeckToWaist` measurement
|
||||
## 2.1.9 (2020-01-18)
|
||||
|
||||
**Note:** Version bump only for package bent
|
||||
|
||||
|
||||
## 2.1.8 (2019-12-16)
|
||||
|
||||
**Note:** Version bump only for package bent
|
||||
|
||||
|
||||
## 2.1.7 (2019-12-15)
|
||||
|
||||
**Note:** Version bump only for package bent
|
||||
|
||||
|
||||
## 2.1.6 (2019-11-24)
|
||||
|
||||
**Note:** Version bump only for package bent
|
||||
|
||||
|
||||
## 2.1.5 (2019-11-19)
|
||||
|
||||
**Note:** Version bump only for package bent
|
||||
|
||||
|
||||
## 2.1.4 (2019-11-01)
|
||||
|
||||
**Note:** Version bump only for package bent
|
||||
|
||||
|
||||
## 2.1.3 (2019-10-18)
|
||||
|
||||
**Note:** Version bump only for package bent
|
||||
|
||||
|
||||
## 2.1.2 (2019-10-14)
|
||||
|
||||
**Note:** Version bump only for package bent
|
||||
|
||||
|
||||
## 2.1.1 (2019-10-13)
|
||||
|
||||
**Note:** Version bump only for package bent
|
||||
|
||||
|
||||
## 2.1.0 (2019-10-06)
|
||||
|
||||
**Note:** Version bump only for package bent
|
||||
|
||||
|
||||
## 2.0.4 (2019-09-27)
|
||||
|
||||
**Note:** Version bump only for package bent
|
||||
|
||||
|
||||
## 2.0.3 (2019-09-15)
|
||||
|
||||
**Note:** Version bump only for package bent
|
||||
|
||||
|
||||
## 2.0.2 (2019-09-06)
|
||||
|
||||
**Note:** Version bump only for package bent
|
||||
|
||||
|
||||
## 2.0.1 (2019-09-01)
|
||||
|
||||
**Note:** Version bump only for package bent
|
||||
|
||||
|
||||
|
||||
- Removed deprecated `centerBackNeckToWaist` measurement
|
||||
|
||||
## 2.0.0 (2019-08-25)
|
||||
|
||||
### Added
|
||||
|
||||
- Initial release
|
||||
|
||||
This is the **initial release**, and the start of this change log.
|
||||
|
||||
Prior to version 2, FreeSewing was not a JavaScript project.
|
||||
As such, that history is out of scope for this change log.
|
||||
> Prior to version 2, FreeSewing was not a JavaScript project.
|
||||
> As such, that history is out of scope for this change log.
|
||||
|
|
|
@ -31,16 +31,16 @@ export default {
|
|||
]
|
||||
},
|
||||
measurements: [
|
||||
'bicepsCircumference',
|
||||
'chestCircumference',
|
||||
'hpsToHipsBack',
|
||||
'naturalWaistToHip',
|
||||
'neckCircumference',
|
||||
'biceps',
|
||||
'chest',
|
||||
'hpsToWaistBack',
|
||||
'waistToHips',
|
||||
'neck',
|
||||
'shoulderSlope',
|
||||
'shoulderToElbow',
|
||||
'shoulderToShoulder',
|
||||
'shoulderToWrist',
|
||||
'wristCircumference'
|
||||
'wrist'
|
||||
],
|
||||
dependencies: {
|
||||
back: 'base',
|
||||
|
@ -63,20 +63,20 @@ export default {
|
|||
|
||||
// Percentages
|
||||
acrossBackFactor: { pct: 97, min: 93, max: 100 },
|
||||
armholeDepthFactor: { pct: 65, min: 50, max: 70 },
|
||||
armholeDepthFactor: { pct: 60, min: 50, max: 70 },
|
||||
backNeckCutout: { pct: 5, min: 2, max: 8 },
|
||||
bicepsEase: { pct: 20, min: 0, max: 50 },
|
||||
bicepsEase: { pct: 20, min: 10, max: 40 },
|
||||
chestEase: { pct: 8, min: -4, max: 20 },
|
||||
collarEase: { pct: 3.5, min: 0, max: 10 },
|
||||
cuffEase: { pct: 20, min: 0, max: 200 },
|
||||
cuffEase: { pct: 40, min: 2, max: 100 },
|
||||
frontArmholeDeeper: { pct: 0.5, min: 0, max: 1.5 },
|
||||
lengthBonus: { pct: 0, min: -4, max: 60 },
|
||||
shoulderEase: { pct: 0, min: -2, max: 6 },
|
||||
shoulderSlopeReduction: { pct: 0, min: 0, max: 8 },
|
||||
shoulderSlopeReduction: { pct: 0, min: 0, max: 80 },
|
||||
|
||||
sleeveBend: { deg: 10, min: 0, max: 20 },
|
||||
sleevecapHeight: { pct: 45, min: 40, max: 60 },
|
||||
sleevecapEase: { pct: 1, min: 0, max: 10 },
|
||||
sleeveLengthBonus: { pct: 0, min: -40, max: 10 }
|
||||
sleeveLengthBonus: { pct: 0, min: -20, max: 15 }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,15 +16,16 @@
|
|||
"@freesewing/plugin-i18n": "latest",
|
||||
"@freesewing/plugin-svgattr": "latest",
|
||||
"@freesewing/utils": "latest",
|
||||
"@material-ui/core": "^4.4.0",
|
||||
"@material-ui/icons": "^4.2.1",
|
||||
"@material-ui/lab": "^v4.0.0-alpha.25",
|
||||
"@material-ui/core": "^4.11.0",
|
||||
"@material-ui/icons": "^4.9.1",
|
||||
"@material-ui/lab": "^v4.0.0-alpha.56",
|
||||
"pattern": "link:..",
|
||||
"prismjs": "1.17.1",
|
||||
"react": "^16.9",
|
||||
"react-dom": "^16.9",
|
||||
"react-scripts": "^3.1.1",
|
||||
"prismjs": "1.20.0",
|
||||
"react": "^16.13",
|
||||
"react-dom": "^16.13",
|
||||
"react-scripts": "^3.4.1",
|
||||
"file-saver": "^2.0.2",
|
||||
"react-markdown": "4.3.1",
|
||||
"typeface-roboto-condensed": "latest"
|
||||
},
|
||||
"scripts": {
|
||||
|
@ -43,6 +44,6 @@
|
|||
"not op_mini all"
|
||||
],
|
||||
"devDependencies": {
|
||||
"babel-plugin-prismjs": "1.1.1"
|
||||
"babel-plugin-prismjs": "2.0.1"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,16 +6,23 @@ import '@freesewing/css-theme'
|
|||
|
||||
import Pattern from 'pattern'
|
||||
|
||||
const App = props => {
|
||||
const App = (props) => {
|
||||
let instance = new Pattern()
|
||||
let config = instance.config
|
||||
|
||||
// You can use this to add transations
|
||||
let translations = {
|
||||
JSON: 'JSON',
|
||||
someOtherString: 'Some other string that needs translation'
|
||||
}
|
||||
|
||||
return (
|
||||
<Workbench
|
||||
freesewing={freesewing}
|
||||
Pattern={Pattern}
|
||||
config={config}
|
||||
userLanguage="en"
|
||||
translations={translations}
|
||||
/>
|
||||
)
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@freesewing/bent",
|
||||
"version": "2.5.0",
|
||||
"version": "2.7.2",
|
||||
"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)",
|
||||
"homepage": "https://freesewing.org/",
|
||||
|
@ -34,9 +34,9 @@
|
|||
"testci": "BABEL_ENV=production ./node_modules/.bin/_mocha tests/*.test.js --require @babel/register"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@freesewing/core": "^2.5.0",
|
||||
"@freesewing/plugin-bundle": "^2.5.0",
|
||||
"@freesewing/brian": "^2.5.0"
|
||||
"@freesewing/core": "^2.7.2",
|
||||
"@freesewing/plugin-bundle": "^2.7.2",
|
||||
"@freesewing/brian": "^2.7.2"
|
||||
},
|
||||
"dependencies": {},
|
||||
"devDependencies": {
|
||||
|
@ -47,14 +47,14 @@
|
|||
"eslint": "^5.16.0",
|
||||
"babel-jest": "24.7.1",
|
||||
"jest": "24.7.1",
|
||||
"@freesewing/components": "^2.5.0",
|
||||
"@freesewing/css-theme": "^2.5.0",
|
||||
"@freesewing/i18n": "^2.5.0",
|
||||
"@freesewing/mui-theme": "^2.5.0",
|
||||
"@freesewing/plugin-bust": "^2.5.0",
|
||||
"@freesewing/plugin-buttons": "^2.5.0",
|
||||
"@freesewing/plugin-flip": "^2.5.0",
|
||||
"@freesewing/utils": "^2.5.0",
|
||||
"@freesewing/components": "^2.7.2",
|
||||
"@freesewing/css-theme": "^2.7.2",
|
||||
"@freesewing/i18n": "^2.7.2",
|
||||
"@freesewing/mui-theme": "^2.7.2",
|
||||
"@freesewing/plugin-bust": "^2.7.2",
|
||||
"@freesewing/plugin-buttons": "^2.7.2",
|
||||
"@freesewing/plugin-flip": "^2.7.2",
|
||||
"@freesewing/utils": "^2.7.2",
|
||||
"@svgr/rollup": "^2.4.1",
|
||||
"cross-env": "^5.1.4",
|
||||
"gh-pages": "^1.2.0",
|
||||
|
@ -67,12 +67,12 @@
|
|||
"rollup-plugin-json": "^3.1.0",
|
||||
"rollup-plugin-node-resolve": "^3.3.0",
|
||||
"rollup-plugin-peer-deps-external": "^2.2.0",
|
||||
"rollup-plugin-postcss": "^1.6.2",
|
||||
"rollup-plugin-postcss": "^3.1.3",
|
||||
"rollup-plugin-url": "^1.4.0",
|
||||
"@material-ui/core": "4.0.1",
|
||||
"@material-ui/icons": "4.0.1",
|
||||
"@material-ui/lab": "^v4.0.0-alpha.14",
|
||||
"react-intl": "2.8.0",
|
||||
"react-intl": "5.4.1",
|
||||
"prop-types": "15.7.2",
|
||||
"mocha": "^6.1.4",
|
||||
"chai": "^4.1.2",
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
export default function(part) {
|
||||
export default function (part) {
|
||||
let { Path, paths, points, store, options } = part.shorthand()
|
||||
|
||||
function draftSleeve(part, tweak) {
|
||||
|
@ -15,7 +15,7 @@ export default function(part) {
|
|||
points.boxBottomLeft = points.boxBottomRight.flipX()
|
||||
points.armCenter = points.top.shift(
|
||||
-90,
|
||||
measurements.bicepsCircumference * (1 + options.bicepsEase) * options.sleevecapHeight * tweak
|
||||
measurements.biceps * (1 + options.bicepsEase) * options.sleevecapHeight * tweak
|
||||
)
|
||||
points.armRight = points.armCenter.shift(0, points.boxTopRight.x)
|
||||
points.armLeft = points.armRight.flipX()
|
||||
|
@ -47,7 +47,7 @@ export default function(part) {
|
|||
points.usWristRight = points.tsWristRight.clone()
|
||||
|
||||
// Shift wrist left to the exact wrist width
|
||||
let wristWidth = measurements.wristCircumference * (1 + options.cuffEase)
|
||||
let wristWidth = measurements.wrist * (1 + options.cuffEase)
|
||||
let topWrist = wristWidth / 2 + factor / 5
|
||||
let underWrist = wristWidth / 2 - factor / 5
|
||||
points.tsWristLeftHelperBottom = points.tsWristRight.shift(180, topWrist / 2)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import dimensions from './shared'
|
||||
|
||||
export default function(part) {
|
||||
export default function (part) {
|
||||
let { macro, Path, points, paths, complete, paperless, snippets, Snippet, sa } = part.shorthand()
|
||||
|
||||
// Extract seamline from sleeve
|
||||
|
@ -8,6 +8,8 @@ export default function(part) {
|
|||
paths.seam = paths.us.clone().attr('class', 'fabric', true)
|
||||
delete paths.us
|
||||
|
||||
points.anchor = points.usTip.clone()
|
||||
|
||||
// Complete?
|
||||
if (complete) {
|
||||
snippets.logo = new Snippet('logo', points.elbowCenter)
|
||||
|
|
|
@ -1,140 +1,25 @@
|
|||
# Change log for: @freesewing/breanna
|
||||
|
||||
## 2.7.0 (2020-07-12)
|
||||
|
||||
## Unreleased
|
||||
|
||||
**Note:** Version bump only for package breanna
|
||||
|
||||
|
||||
## 2.5.0 (2020-04-05)
|
||||
|
||||
**Note:** Version bump only for package breanna
|
||||
|
||||
|
||||
## 2.4.6 (2020-03-23)
|
||||
|
||||
**Note:** Version bump only for package breanna
|
||||
|
||||
|
||||
## 2.4.5 (2020-03-19)
|
||||
|
||||
**Note:** Version bump only for package breanna
|
||||
|
||||
|
||||
## 2.4.4 (2020-03-15)
|
||||
|
||||
**Note:** Version bump only for package breanna
|
||||
|
||||
|
||||
## 2.4.3 (2020-03-12)
|
||||
|
||||
**Note:** Version bump only for package breanna
|
||||
|
||||
|
||||
## 2.4.2 (2020-03-08)
|
||||
|
||||
**Note:** Version bump only for package breanna
|
||||
|
||||
|
||||
## 2.4.1 (2020-03-04)
|
||||
|
||||
**Note:** Version bump only for package breanna
|
||||
|
||||
|
||||
## 2.4.0 (2020-02-29)
|
||||
|
||||
**Note:** Version bump only for package breanna
|
||||
|
||||
|
||||
## 2.3.0 (2020-02-23)
|
||||
|
||||
**Note:** Version bump only for package breanna
|
||||
### Changed
|
||||
|
||||
- Ported breanna to the new shoulderSlope measurement. See [#358](https://github.com/freesewing/freesewing/issues/358)
|
||||
- Ported breanna to the new (names for) other measurements. See [#416](https://github.com/freesewing/freesewing/issues/416)
|
||||
- Removed `Circumference` suffix from measurement names
|
||||
- Removed deprecated `debug()` statements
|
||||
|
||||
## 2.2.0 (2020-02-22)
|
||||
|
||||
### Added
|
||||
|
||||
- Breanna is a body block for womenswear
|
||||
- Breanna is a body block for womenswear
|
||||
|
||||
### Changed
|
||||
|
||||
- Removed deprecated `centerBackNeckToWaist` and `hpsToWaistBack` measurements
|
||||
## 2.1.9 (2020-01-18)
|
||||
|
||||
**Note:** Version bump only for package breanna
|
||||
|
||||
|
||||
## 2.1.8 (2019-12-16)
|
||||
|
||||
**Note:** Version bump only for package breanna
|
||||
|
||||
|
||||
## 2.1.7 (2019-12-15)
|
||||
|
||||
**Note:** Version bump only for package breanna
|
||||
|
||||
|
||||
## 2.1.6 (2019-11-24)
|
||||
|
||||
**Note:** Version bump only for package breanna
|
||||
|
||||
|
||||
## 2.1.5 (2019-11-19)
|
||||
|
||||
**Note:** Version bump only for package breanna
|
||||
|
||||
|
||||
## 2.1.4 (2019-11-01)
|
||||
|
||||
**Note:** Version bump only for package breanna
|
||||
|
||||
|
||||
## 2.1.3 (2019-10-18)
|
||||
|
||||
**Note:** Version bump only for package breanna
|
||||
|
||||
|
||||
## 2.1.2 (2019-10-14)
|
||||
|
||||
**Note:** Version bump only for package breanna
|
||||
|
||||
|
||||
## 2.1.1 (2019-10-13)
|
||||
|
||||
**Note:** Version bump only for package breanna
|
||||
|
||||
|
||||
## 2.1.0 (2019-10-06)
|
||||
|
||||
**Note:** Version bump only for package breanna
|
||||
|
||||
|
||||
## 2.0.4 (2019-09-27)
|
||||
|
||||
**Note:** Version bump only for package breanna
|
||||
|
||||
|
||||
## 2.0.3 (2019-09-15)
|
||||
|
||||
**Note:** Version bump only for package breanna
|
||||
|
||||
|
||||
## 2.0.2 (2019-09-06)
|
||||
|
||||
**Note:** Version bump only for package breanna
|
||||
|
||||
|
||||
## 2.0.1 (2019-09-01)
|
||||
|
||||
**Note:** Version bump only for package breanna
|
||||
|
||||
|
||||
|
||||
|
||||
## 2.0.0 (2019-08-25)
|
||||
- Removed deprecated `centerBackNeckToWaist` and `hpsToWaistBack` measurements
|
||||
|
||||
This is the **initial release**, and the start of this change log.
|
||||
|
||||
Prior to version 2, FreeSewing was not a JavaScript project.
|
||||
As such, that history is out of scope for this change log.
|
||||
> Prior to version 2, FreeSewing was not a JavaScript project.
|
||||
> As such, that history is out of scope for this change log.
|
||||
|
|
|
@ -66,21 +66,21 @@ export default {
|
|||
]
|
||||
},
|
||||
measurements: [
|
||||
'bicepsCircumference',
|
||||
'biceps',
|
||||
'bustFront',
|
||||
'bustSpan',
|
||||
'highBust',
|
||||
'highBustFront',
|
||||
'hpsToBust',
|
||||
'hpsToHipsBack',
|
||||
'hpsToHipsFront',
|
||||
'naturalWaist',
|
||||
'naturalWaistToHip',
|
||||
'neckCircumference',
|
||||
'hpsToWaistBack',
|
||||
'hpsToWaistFront',
|
||||
'waist',
|
||||
'waistToHips',
|
||||
'neck',
|
||||
'shoulderToShoulder',
|
||||
'shoulderToWrist',
|
||||
'shoulderSlope',
|
||||
'wristCircumference'
|
||||
'wrist'
|
||||
],
|
||||
dependencies: {
|
||||
frontBase: 'back',
|
||||
|
|
|
@ -16,15 +16,16 @@
|
|||
"@freesewing/plugin-i18n": "latest",
|
||||
"@freesewing/plugin-svgattr": "latest",
|
||||
"@freesewing/utils": "latest",
|
||||
"@material-ui/core": "^4.4.0",
|
||||
"@material-ui/icons": "^4.2.1",
|
||||
"@material-ui/lab": "^v4.0.0-alpha.25",
|
||||
"@material-ui/core": "^4.11.0",
|
||||
"@material-ui/icons": "^4.9.1",
|
||||
"@material-ui/lab": "^v4.0.0-alpha.56",
|
||||
"pattern": "link:..",
|
||||
"prismjs": "1.17.1",
|
||||
"react": "^16.9",
|
||||
"react-dom": "^16.9",
|
||||
"react-scripts": "^3.1.1",
|
||||
"prismjs": "1.20.0",
|
||||
"react": "^16.13",
|
||||
"react-dom": "^16.13",
|
||||
"react-scripts": "^3.4.1",
|
||||
"file-saver": "^2.0.2",
|
||||
"react-markdown": "4.3.1",
|
||||
"typeface-roboto-condensed": "latest"
|
||||
},
|
||||
"scripts": {
|
||||
|
@ -43,6 +44,6 @@
|
|||
"not op_mini all"
|
||||
],
|
||||
"devDependencies": {
|
||||
"babel-plugin-prismjs": "1.1.1"
|
||||
"babel-plugin-prismjs": "2.0.1"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,16 +6,23 @@ import '@freesewing/css-theme'
|
|||
|
||||
import Pattern from 'pattern'
|
||||
|
||||
const App = props => {
|
||||
const App = (props) => {
|
||||
let instance = new Pattern()
|
||||
let config = instance.config
|
||||
|
||||
// You can use this to add transations
|
||||
let translations = {
|
||||
JSON: 'JSON',
|
||||
someOtherString: 'Some other string that needs translation'
|
||||
}
|
||||
|
||||
return (
|
||||
<Workbench
|
||||
freesewing={freesewing}
|
||||
Pattern={Pattern}
|
||||
config={config}
|
||||
userLanguage="en"
|
||||
translations={translations}
|
||||
/>
|
||||
)
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@freesewing/breanna",
|
||||
"version": "2.5.0",
|
||||
"version": "2.7.2",
|
||||
"description": "A FreeSewing pattern for a basic body block for womenswear",
|
||||
"author": "Joost De Cock <joost@decock.org> (https://github.com/joostdecock)",
|
||||
"homepage": "https://freesewing.org/",
|
||||
|
@ -34,9 +34,9 @@
|
|||
"testci": "BABEL_ENV=production ./node_modules/.bin/_mocha tests/*.test.js --require @babel/register"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@freesewing/core": "^2.5.0",
|
||||
"@freesewing/plugin-bundle": "^2.5.0",
|
||||
"@freesewing/brian": "^2.5.0"
|
||||
"@freesewing/core": "^2.7.2",
|
||||
"@freesewing/plugin-bundle": "^2.7.2",
|
||||
"@freesewing/brian": "^2.7.2"
|
||||
},
|
||||
"dependencies": {},
|
||||
"devDependencies": {
|
||||
|
@ -47,14 +47,14 @@
|
|||
"eslint": "^5.16.0",
|
||||
"babel-jest": "24.7.1",
|
||||
"jest": "24.7.1",
|
||||
"@freesewing/components": "^2.5.0",
|
||||
"@freesewing/css-theme": "^2.5.0",
|
||||
"@freesewing/i18n": "^2.5.0",
|
||||
"@freesewing/mui-theme": "^2.5.0",
|
||||
"@freesewing/plugin-bust": "^2.5.0",
|
||||
"@freesewing/plugin-buttons": "^2.5.0",
|
||||
"@freesewing/plugin-flip": "^2.5.0",
|
||||
"@freesewing/utils": "^2.5.0",
|
||||
"@freesewing/components": "^2.7.2",
|
||||
"@freesewing/css-theme": "^2.7.2",
|
||||
"@freesewing/i18n": "^2.7.2",
|
||||
"@freesewing/mui-theme": "^2.7.2",
|
||||
"@freesewing/plugin-bust": "^2.7.2",
|
||||
"@freesewing/plugin-buttons": "^2.7.2",
|
||||
"@freesewing/plugin-flip": "^2.7.2",
|
||||
"@freesewing/utils": "^2.7.2",
|
||||
"@svgr/rollup": "^2.4.1",
|
||||
"cross-env": "^5.1.4",
|
||||
"gh-pages": "^1.2.0",
|
||||
|
@ -67,12 +67,12 @@
|
|||
"rollup-plugin-json": "^3.1.0",
|
||||
"rollup-plugin-node-resolve": "^3.3.0",
|
||||
"rollup-plugin-peer-deps-external": "^2.2.0",
|
||||
"rollup-plugin-postcss": "^1.6.2",
|
||||
"rollup-plugin-postcss": "^3.1.3",
|
||||
"rollup-plugin-url": "^1.4.0",
|
||||
"@material-ui/core": "4.0.1",
|
||||
"@material-ui/icons": "4.0.1",
|
||||
"@material-ui/lab": "^v4.0.0-alpha.14",
|
||||
"react-intl": "2.8.0",
|
||||
"react-intl": "5.4.1",
|
||||
"prop-types": "15.7.2",
|
||||
"mocha": "^6.1.4",
|
||||
"chai": "^4.1.2",
|
||||
|
|
|
@ -1,60 +1,47 @@
|
|||
export default part => {
|
||||
let { points, Point, measurements, options, utils } = part.shorthand()
|
||||
export default (part) => {
|
||||
let { store, points, Point, measurements, options, utils } = part.shorthand()
|
||||
|
||||
// Shoulder
|
||||
// HPS
|
||||
points.hps = new Point((measurements.neck * (1 + options.collarEase)) / options.collarFactor, 0)
|
||||
|
||||
// Shoulder point using shoulderSlope degree measurement
|
||||
store.set('shoulderEase', (measurements.shoulderToShoulder * options.shoulderEase) / 2)
|
||||
points.shoulder = utils.beamsIntersect(
|
||||
points.hps,
|
||||
points.hps.shift(measurements.shoulderSlope * -1, 100),
|
||||
new Point(measurements.shoulderToShoulder / 2 + store.get('shoulderEase'), -100),
|
||||
new Point(measurements.shoulderToShoulder / 2 + store.get('shoulderEase'), 100)
|
||||
)
|
||||
|
||||
// Center back axis
|
||||
points.cbHps = new Point(0, 0)
|
||||
// Step 1/3: no vertical ease to make sure shoulder slope is not influenced
|
||||
points.cbWaist = new Point(0, measurements.hpsToHipsBack - measurements.naturalWaistToHip)
|
||||
points.cbHips = new Point(0, measurements.hpsToHipsBack)
|
||||
points.shoulder = utils
|
||||
.circlesIntersect(
|
||||
points.cbHps,
|
||||
measurements.shoulderToShoulder / 2,
|
||||
points.cbHips,
|
||||
measurements.shoulderSlope,
|
||||
'y'
|
||||
)
|
||||
.shift()
|
||||
|
||||
// Step 2/3: add vertical ease to waist and hips
|
||||
points.cbWaist = new Point(
|
||||
points.cbNeck = new Point(0, options.backNeckCutout * measurements.neck)
|
||||
points.cbWaist = new Point(0, measurements.hpsToWaistBack * (1 + options.verticalEase))
|
||||
points.cbHips = new Point(
|
||||
0,
|
||||
(measurements.hpsToHipsBack - measurements.naturalWaistToHip) * (1 + options.verticalEase)
|
||||
(measurements.hpsToWaistBack + measurements.waistToHips) * (1 + options.verticalEase)
|
||||
)
|
||||
points.cbHips = new Point(0, measurements.hpsToHipsBack * (1 + options.verticalEase))
|
||||
|
||||
// Neck
|
||||
points.cbNeck = new Point(0, options.backNeckCutout * measurements.neckCircumference)
|
||||
points.hps = new Point(
|
||||
(measurements.neckCircumference * (1 + options.collarEase)) / options.collarFactor,
|
||||
0
|
||||
)
|
||||
// Now take shoulder slope reduction into account
|
||||
points.shoulder.y -= (points.shoulder.y - points.cbHps.y) * options.shoulderSlopeReduction
|
||||
// Shoulder should never be higher than HPS
|
||||
if (points.shoulder.y < points.cbHps.y) points.shoulder = new Point(points.shoulder.x, 0)
|
||||
points.shoulderNoEase = points.shoulder.clone()
|
||||
|
||||
// Neckline control point
|
||||
points.hpsCp2 = utils.beamIntersectsY(
|
||||
points.hps,
|
||||
points.hps.shiftTowards(points.shoulder, 10).rotate(-90, points.hps),
|
||||
points.cbNeck.y
|
||||
)
|
||||
points.waist = points.cbWaist.shift(0, (measurements.naturalWaist * (1 + options.waistEase)) / 4)
|
||||
|
||||
if (points.shoulder.y < points.hps.y) {
|
||||
// Shoulder should never be higher than HPS
|
||||
points.shoulder = utils.beamIntersectsY(points.shoulder, points.cbHips, points.hps.y)
|
||||
} else {
|
||||
// Take shoulder slope reduction into account
|
||||
points.shoulder.y -= (points.shoulder.y - points.hps.y) * options.shoulderSlopeReduction
|
||||
}
|
||||
points.shoulderNoEase = points.shoulder.clone()
|
||||
|
||||
// Step 3/3: Add shoulder ease to shoulder point
|
||||
points.shoulder = points.hps.shiftOutwards(
|
||||
points.shoulder,
|
||||
(measurements.shoulderToShoulder * options.shoulderEase) / 2
|
||||
)
|
||||
// Waist at side seam
|
||||
points.waist = points.cbWaist.shift(0, (measurements.waist * (1 + options.waistEase)) / 4)
|
||||
|
||||
// Armhhole
|
||||
points.armhole = new Point(
|
||||
((measurements.highBust - measurements.highBustFront) * (1 + options.chestEase)) / 2,
|
||||
(points.shoulder.y + measurements.bicepsCircumference * options.armholeDepthBase) *
|
||||
(points.shoulder.y + measurements.biceps * options.armholeDepthBase) *
|
||||
options.armholeDepthFactor *
|
||||
(1 + options.verticalEase) *
|
||||
(1 + options.bicepsEase)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
export default part => {
|
||||
export default (part) => {
|
||||
let { points, Path, paths, Point, measurements, options, utils, store } = part.shorthand()
|
||||
|
||||
// Fit neck
|
||||
|
@ -8,7 +8,7 @@ export default part => {
|
|||
let collarDelta = 0
|
||||
let front = 0
|
||||
let back = store.get('backCollarLength')
|
||||
let target = measurements.neckCircumference * (1 + options.collarEase)
|
||||
let target = measurements.neck * (1 + options.collarEase)
|
||||
do {
|
||||
points.cfNeck = points.cfNeck.shift(90, collarDelta / 1.5)
|
||||
points.hpsCp2 = utils.beamIntersectsY(
|
||||
|
@ -16,11 +16,7 @@ export default part => {
|
|||
points.hps.shiftTowards(points.shoulder, 10).rotate(-90, points.hps),
|
||||
points.cfNeck.y
|
||||
)
|
||||
front =
|
||||
new Path()
|
||||
.move(points.hps)
|
||||
.curve_(points.hpsCp2, points.cfNeck)
|
||||
.length() * 2
|
||||
front = new Path().move(points.hps).curve_(points.hpsCp2, points.cfNeck).length() * 2
|
||||
collarDelta = front + back - target
|
||||
} while (Math.abs(collarDelta) > 1)
|
||||
} else {
|
||||
|
@ -52,11 +48,7 @@ export default part => {
|
|||
points.armhole = points.armhole.shift(0, bustDelta)
|
||||
|
||||
// Adjust waist down to accomodate bust
|
||||
points.cfWaist = new Point(
|
||||
0,
|
||||
measurements.hpsToHipsFront * (1 + options.verticalEase) -
|
||||
measurements.naturalWaistToHip * (1 + options.verticalEase)
|
||||
)
|
||||
points.cfWaist = new Point(0, measurements.hpsToWaistFront * (1 + options.verticalEase))
|
||||
points.waist = utils.beamIntersectsY(points.armhole, points.bustSide, points.cfWaist.y)
|
||||
points.waist = points.armhole.shiftTowards(points.waist, store.get('backSideSeamLength'))
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
export default part => {
|
||||
export default (part) => {
|
||||
let {
|
||||
store,
|
||||
sa,
|
||||
|
@ -22,10 +22,7 @@ export default part => {
|
|||
top +
|
||||
measurements.shoulderToWrist * (1 + options.sleeveLengthBonus) * (1 + options.verticalEase)
|
||||
)
|
||||
points.wristRight = points.centerWrist.shift(
|
||||
0,
|
||||
(measurements.wristCircumference * (1 + options.cuffEase)) / 2
|
||||
)
|
||||
points.wristRight = points.centerWrist.shift(0, (measurements.wrist * (1 + options.cuffEase)) / 2)
|
||||
points.wristLeft = points.wristRight.rotate(180, points.centerWrist)
|
||||
points.sleeveTip = paths.sleevecap.shiftFractionAlong(0.5)
|
||||
|
||||
|
|
|
@ -30,19 +30,17 @@ function sleevecapAdjust(store, twoBacks = false, options = null) {
|
|||
}
|
||||
|
||||
function draftSleevecap(part, run) {
|
||||
let { debug, store, measurements, options, Point, points, Path, paths } = part.shorthand()
|
||||
let { store, measurements, options, Point, points, Path, paths } = part.shorthand()
|
||||
// Sleeve center axis
|
||||
points.centerBiceps = new Point(0, 0)
|
||||
points.centerCap = points.centerBiceps.shift(
|
||||
90,
|
||||
options.sleevecapTopFactorY *
|
||||
((measurements.bicepsCircumference / 2) *
|
||||
(1 + options.bicepsEase) *
|
||||
store.get('sleeveFactor'))
|
||||
((measurements.biceps / 2) * (1 + options.bicepsEase) * store.get('sleeveFactor'))
|
||||
)
|
||||
|
||||
// Left and right biceps points, limit impact of sleeveFactor to 25%
|
||||
let halfWidth = (measurements.bicepsCircumference * (1 + options.bicepsEase)) / 2
|
||||
let halfWidth = (measurements.biceps * (1 + options.bicepsEase)) / 2
|
||||
points.bicepsLeft = points.centerBiceps.shift(
|
||||
180,
|
||||
halfWidth * options.sleeveWidthGuarantee +
|
||||
|
@ -77,7 +75,7 @@ function draftSleevecap(part, run) {
|
|||
points.capQ3Base = points.backPitch.shiftFractionTowards(points.centerCap, 0.5)
|
||||
points.capQ4Base = points.backPitch.shiftFractionTowards(points.bicepsLeft, 0.5)
|
||||
// Offset points
|
||||
let baseOffset = measurements.bicepsCircumference * (1 + options.bicepsEase)
|
||||
let baseOffset = measurements.biceps * (1 + options.bicepsEase)
|
||||
points.capQ1 = points.capQ1Base.shift(
|
||||
points.bicepsRight.angle(points.frontPitch) + 90,
|
||||
baseOffset * options.sleevecapQ1Offset
|
||||
|
@ -182,8 +180,8 @@ function redrawSleevecapFront(part, delta) {
|
|||
store.set('sleevecapLength', paths.sleevecap.length())
|
||||
}
|
||||
|
||||
export default part => {
|
||||
let { debug, store, options, Point, points, paths } = part.shorthand()
|
||||
export default (part) => {
|
||||
let { store, options, Point, points, paths } = part.shorthand()
|
||||
|
||||
// Step 1: sleevecap for 2 backs joined together (twoBacks = true)
|
||||
store.set('sleeveFactor', 1)
|
||||
|
|
|
@ -1,138 +1,36 @@
|
|||
# Change log for: @freesewing/brian
|
||||
|
||||
## 2.7.0 (2020-07-12)
|
||||
|
||||
## Unreleased
|
||||
### Changed
|
||||
|
||||
**Note:** Version bump only for package brian
|
||||
- Ported brian to new `shoulderSlope` degree measurement. See [#358](https://github.com/freesewing/freesewing/issues/358)
|
||||
- Ported brian to the new (names for) other measurements. See [#416](https://github.com/freesewing/freesewing/issues/416)
|
||||
- Set HPS as anchor point for sampling in front and back
|
||||
- Removed `Circumference` suffix from measurement names
|
||||
- Removed deprecated `debug()` statements
|
||||
|
||||
## 2.6.0 (2020-05-01)
|
||||
|
||||
## 2.5.0 (2020-04-05)
|
||||
|
||||
**Note:** Version bump only for package brian
|
||||
|
||||
|
||||
## 2.4.6 (2020-03-23)
|
||||
|
||||
**Note:** Version bump only for package brian
|
||||
|
||||
|
||||
## 2.4.5 (2020-03-19)
|
||||
|
||||
**Note:** Version bump only for package brian
|
||||
|
||||
|
||||
## 2.4.4 (2020-03-15)
|
||||
|
||||
**Note:** Version bump only for package brian
|
||||
|
||||
|
||||
## 2.4.3 (2020-03-12)
|
||||
|
||||
**Note:** Version bump only for package brian
|
||||
|
||||
|
||||
## 2.4.2 (2020-03-08)
|
||||
|
||||
**Note:** Version bump only for package brian
|
||||
|
||||
|
||||
## 2.4.1 (2020-03-04)
|
||||
|
||||
**Note:** Version bump only for package brian
|
||||
|
||||
|
||||
## 2.4.0 (2020-02-29)
|
||||
|
||||
**Note:** Version bump only for package brian
|
||||
|
||||
|
||||
## 2.3.0 (2020-02-23)
|
||||
|
||||
**Note:** Version bump only for package brian
|
||||
### Fixed
|
||||
|
||||
- The `saBase` path is no longer being rendered
|
||||
|
||||
## 2.2.0 (2020-02-22)
|
||||
|
||||
### Changed
|
||||
|
||||
- Reworked Brian to use the new shoulderslope measurement
|
||||
- Removed deprecated `centerBackNeckToWaist` measurement
|
||||
- The `neck` point has been renamed to `hps`
|
||||
## 2.1.9 (2020-01-18)
|
||||
|
||||
**Note:** Version bump only for package brian
|
||||
|
||||
|
||||
## 2.1.8 (2019-12-16)
|
||||
|
||||
**Note:** Version bump only for package brian
|
||||
|
||||
|
||||
## 2.1.7 (2019-12-15)
|
||||
|
||||
**Note:** Version bump only for package brian
|
||||
|
||||
|
||||
## 2.1.6 (2019-11-24)
|
||||
|
||||
**Note:** Version bump only for package brian
|
||||
|
||||
|
||||
## 2.1.5 (2019-11-19)
|
||||
|
||||
**Note:** Version bump only for package brian
|
||||
|
||||
|
||||
## 2.1.4 (2019-11-01)
|
||||
|
||||
**Note:** Version bump only for package brian
|
||||
|
||||
|
||||
## 2.1.3 (2019-10-18)
|
||||
|
||||
**Note:** Version bump only for package brian
|
||||
|
||||
|
||||
## 2.1.2 (2019-10-14)
|
||||
|
||||
**Note:** Version bump only for package brian
|
||||
|
||||
|
||||
## 2.1.1 (2019-10-13)
|
||||
|
||||
**Note:** Version bump only for package brian
|
||||
|
||||
|
||||
## 2.1.0 (2019-10-06)
|
||||
|
||||
**Note:** Version bump only for package brian
|
||||
|
||||
|
||||
## 2.0.4 (2019-09-27)
|
||||
|
||||
**Note:** Version bump only for package brian
|
||||
|
||||
|
||||
## 2.0.3 (2019-09-15)
|
||||
|
||||
**Note:** Version bump only for package brian
|
||||
|
||||
|
||||
## 2.0.2 (2019-09-06)
|
||||
|
||||
**Note:** Version bump only for package brian
|
||||
|
||||
|
||||
## 2.0.1 (2019-09-01)
|
||||
|
||||
**Note:** Version bump only for package brian
|
||||
|
||||
|
||||
|
||||
- Reworked Brian to use the new shoulderslope measurement
|
||||
- Removed deprecated `centerBackNeckToWaist` measurement
|
||||
- The `neck` point has been renamed to `hps`
|
||||
|
||||
## 2.0.0 (2019-08-25)
|
||||
|
||||
### Added
|
||||
|
||||
- Initial release
|
||||
|
||||
This is the **initial release**, and the start of this change log.
|
||||
|
||||
Prior to version 2, FreeSewing was not a JavaScript project.
|
||||
As such, that history is out of scope for this change log.
|
||||
> Prior to version 2, FreeSewing was not a JavaScript project.
|
||||
> As such, that history is out of scope for this change log.
|
||||
|
|
|
@ -52,15 +52,15 @@ export default {
|
|||
]
|
||||
},
|
||||
measurements: [
|
||||
'bicepsCircumference',
|
||||
'chestCircumference',
|
||||
'hpsToHipsBack',
|
||||
'naturalWaistToHip',
|
||||
'neckCircumference',
|
||||
'biceps',
|
||||
'chest',
|
||||
'hpsToWaistBack',
|
||||
'waistToHips',
|
||||
'neck',
|
||||
'shoulderSlope',
|
||||
'shoulderToShoulder',
|
||||
'shoulderToWrist',
|
||||
'wristCircumference'
|
||||
'wrist'
|
||||
],
|
||||
dependencies: {
|
||||
back: 'base',
|
||||
|
@ -91,7 +91,7 @@ export default {
|
|||
frontArmholeDeeper: { pct: 0.5, min: 0, max: 1.5 },
|
||||
lengthBonus: { pct: 0, min: -4, max: 60 },
|
||||
shoulderEase: { pct: 0, min: -2, max: 6 },
|
||||
shoulderSlopeReduction: { pct: 0, min: 0, max: 8 },
|
||||
shoulderSlopeReduction: { pct: 0, min: 0, max: 80 },
|
||||
sleevecapEase: { pct: 1, min: 0, max: 10 },
|
||||
sleevecapTopFactorX: { pct: 50, min: 25, max: 75 },
|
||||
sleevecapTopFactorY: { pct: 100, min: 35, max: 165 },
|
||||
|
|
|
@ -16,15 +16,16 @@
|
|||
"@freesewing/plugin-i18n": "latest",
|
||||
"@freesewing/plugin-svgattr": "latest",
|
||||
"@freesewing/utils": "latest",
|
||||
"@material-ui/core": "^4.4.0",
|
||||
"@material-ui/icons": "^4.2.1",
|
||||
"@material-ui/lab": "^v4.0.0-alpha.25",
|
||||
"@material-ui/core": "^4.11.0",
|
||||
"@material-ui/icons": "^4.9.1",
|
||||
"@material-ui/lab": "^v4.0.0-alpha.56",
|
||||
"pattern": "link:..",
|
||||
"prismjs": "1.17.1",
|
||||
"react": "^16.9",
|
||||
"react-dom": "^16.9",
|
||||
"react-scripts": "^3.1.1",
|
||||
"prismjs": "1.20.0",
|
||||
"react": "^16.13",
|
||||
"react-dom": "^16.13",
|
||||
"react-scripts": "^3.4.1",
|
||||
"file-saver": "^2.0.2",
|
||||
"react-markdown": "4.3.1",
|
||||
"typeface-roboto-condensed": "latest"
|
||||
},
|
||||
"scripts": {
|
||||
|
@ -43,6 +44,6 @@
|
|||
"not op_mini all"
|
||||
],
|
||||
"devDependencies": {
|
||||
"babel-plugin-prismjs": "1.1.1"
|
||||
"babel-plugin-prismjs": "2.0.1"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,16 +6,23 @@ import '@freesewing/css-theme'
|
|||
|
||||
import Pattern from 'pattern'
|
||||
|
||||
const App = props => {
|
||||
const App = (props) => {
|
||||
let instance = new Pattern()
|
||||
let config = instance.config
|
||||
|
||||
// You can use this to add transations
|
||||
let translations = {
|
||||
JSON: 'JSON',
|
||||
someOtherString: 'Some other string that needs translation'
|
||||
}
|
||||
|
||||
return (
|
||||
<Workbench
|
||||
freesewing={freesewing}
|
||||
Pattern={Pattern}
|
||||
config={config}
|
||||
userLanguage="en"
|
||||
translations={translations}
|
||||
/>
|
||||
)
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@freesewing/brian",
|
||||
"version": "2.5.0",
|
||||
"version": "2.7.2",
|
||||
"description": "A FreeSewing pattern for a basic body block for menswear",
|
||||
"author": "Joost De Cock <joost@decock.org> (https://github.com/joostdecock)",
|
||||
"homepage": "https://freesewing.org/",
|
||||
|
@ -34,8 +34,8 @@
|
|||
"testci": "BABEL_ENV=production ./node_modules/.bin/_mocha tests/*.test.js --require @babel/register"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@freesewing/core": "^2.5.0",
|
||||
"@freesewing/plugin-bundle": "^2.5.0"
|
||||
"@freesewing/core": "^2.7.2",
|
||||
"@freesewing/plugin-bundle": "^2.7.2"
|
||||
},
|
||||
"dependencies": {},
|
||||
"devDependencies": {
|
||||
|
@ -46,14 +46,14 @@
|
|||
"eslint": "^5.16.0",
|
||||
"babel-jest": "24.7.1",
|
||||
"jest": "24.7.1",
|
||||
"@freesewing/components": "^2.5.0",
|
||||
"@freesewing/css-theme": "^2.5.0",
|
||||
"@freesewing/i18n": "^2.5.0",
|
||||
"@freesewing/mui-theme": "^2.5.0",
|
||||
"@freesewing/plugin-bust": "^2.5.0",
|
||||
"@freesewing/plugin-buttons": "^2.5.0",
|
||||
"@freesewing/plugin-flip": "^2.5.0",
|
||||
"@freesewing/utils": "^2.5.0",
|
||||
"@freesewing/components": "^2.7.2",
|
||||
"@freesewing/css-theme": "^2.7.2",
|
||||
"@freesewing/i18n": "^2.7.2",
|
||||
"@freesewing/mui-theme": "^2.7.2",
|
||||
"@freesewing/plugin-bust": "^2.7.2",
|
||||
"@freesewing/plugin-buttons": "^2.7.2",
|
||||
"@freesewing/plugin-flip": "^2.7.2",
|
||||
"@freesewing/utils": "^2.7.2",
|
||||
"@svgr/rollup": "^2.4.1",
|
||||
"cross-env": "^5.1.4",
|
||||
"gh-pages": "^1.2.0",
|
||||
|
@ -66,12 +66,12 @@
|
|||
"rollup-plugin-json": "^3.1.0",
|
||||
"rollup-plugin-node-resolve": "^3.3.0",
|
||||
"rollup-plugin-peer-deps-external": "^2.2.0",
|
||||
"rollup-plugin-postcss": "^1.6.2",
|
||||
"rollup-plugin-postcss": "^3.1.3",
|
||||
"rollup-plugin-url": "^1.4.0",
|
||||
"@material-ui/core": "4.0.1",
|
||||
"@material-ui/icons": "4.0.1",
|
||||
"@material-ui/lab": "^v4.0.0-alpha.14",
|
||||
"react-intl": "2.8.0",
|
||||
"react-intl": "5.4.1",
|
||||
"prop-types": "15.7.2",
|
||||
"mocha": "^6.1.4",
|
||||
"chai": "^4.1.2",
|
||||
|
|
|
@ -14,6 +14,8 @@ export default (part) => {
|
|||
macro
|
||||
} = part.shorthand()
|
||||
|
||||
points.anchor = points.hps.clone()
|
||||
|
||||
// Seamline
|
||||
paths.saBase = shared.saBase('back', points, Path)
|
||||
paths.saBase.render = false
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
import * as shared from './shared'
|
||||
|
||||
export default part => {
|
||||
export default (part) => {
|
||||
let {
|
||||
units,
|
||||
debug,
|
||||
measurements,
|
||||
options,
|
||||
store,
|
||||
|
@ -21,56 +20,40 @@ export default part => {
|
|||
|
||||
// Center back (cb) vertical axis
|
||||
points.cbHps = new Point(0, 0)
|
||||
points.cbNeck = new Point(0, options.backNeckCutout * measurements.neckCircumference)
|
||||
points.cbHips = new Point(0, measurements.hpsToHipsBack)
|
||||
points.cbWaist = new Point(0, points.cbHips.y - measurements.naturalWaistToHip)
|
||||
|
||||
// Shoulder point using new shoulderSlope measurement
|
||||
points.shoulder = utils
|
||||
.circlesIntersect(
|
||||
points.cbHps,
|
||||
measurements.shoulderToShoulder / 2,
|
||||
points.cbHips,
|
||||
measurements.shoulderSlope,
|
||||
'y'
|
||||
)
|
||||
.shift()
|
||||
if (points.shoulder.y < points.cbHps.y) {
|
||||
// Shoulder should never be higher than HPS
|
||||
points.shoulder = utils.beamIntersectsY(points.shoulder, points.cbHips, points.cbHps.y)
|
||||
} else {
|
||||
// Take shoulder slope reduction into account
|
||||
points.shoulder.y -= (points.shoulder.y - points.cbHps.y) * options.shoulderSlopeReduction
|
||||
}
|
||||
points.cbNeck = new Point(0, options.backNeckCutout * measurements.neck)
|
||||
points.cbWaist = new Point(0, measurements.hpsToWaistBack)
|
||||
points.cbHips = new Point(0, points.cbWaist.y + measurements.waistToHips)
|
||||
|
||||
// Shoulder line
|
||||
points.neck = new Point((measurements.neck * (1 + options.collarEase)) / options.collarFactor, 0)
|
||||
points.hps = points.neck.clone() // We started using HPS in many measurements
|
||||
// Shoulder point using shoulderSlope degree measurement
|
||||
points.shoulder = utils.beamsIntersect(
|
||||
points.hps,
|
||||
points.hps.shift(measurements.shoulderSlope * -1, 100),
|
||||
new Point(measurements.shoulderToShoulder / 2 + store.get('shoulderEase'), -100),
|
||||
new Point(measurements.shoulderToShoulder / 2 + store.get('shoulderEase'), 100)
|
||||
)
|
||||
// Determine armhole depth and cbShoulder independent of shoulder slope reduction
|
||||
points.cbShoulder = new Point(0, points.shoulder.y)
|
||||
points.cbArmhole = new Point(
|
||||
0,
|
||||
points.cbShoulder.y +
|
||||
(measurements.shoulderToShoulder * options.shoulderSlopeReduction) / 2 +
|
||||
measurements.bicepsCircumference * (1 + options.bicepsEase) * options.armholeDepthFactor
|
||||
points.shoulder.y + measurements.biceps * (1 + options.bicepsEase) * options.armholeDepthFactor
|
||||
)
|
||||
|
||||
// Now take shoulder slope reduction into account
|
||||
points.shoulder.y -= (points.shoulder.y - points.cbHps.y) * options.shoulderSlopeReduction
|
||||
// Shoulder should never be higher than HPS
|
||||
if (points.shoulder.y < points.cbHps.y) points.shoulder = new Point(points.shoulder.x, 0)
|
||||
|
||||
points.cbHem = new Point(0, points.cbHips.y * (1 + options.lengthBonus))
|
||||
|
||||
// Side back (cb) vertical axis
|
||||
points.armhole = new Point(
|
||||
(measurements.chestCircumference * (1 + options.chestEase)) / 4,
|
||||
points.cbArmhole.y
|
||||
)
|
||||
points.armhole = new Point((measurements.chest * (1 + options.chestEase)) / 4, points.cbArmhole.y)
|
||||
points.waist = new Point(points.armhole.x, points.cbWaist.y)
|
||||
points.hips = new Point(points.armhole.x, points.cbHips.y)
|
||||
points.hem = new Point(points.armhole.x, points.cbHem.y)
|
||||
|
||||
// Shoulder line
|
||||
points.neck = new Point(
|
||||
(measurements.neckCircumference * (1 + options.collarEase)) / options.collarFactor,
|
||||
0
|
||||
)
|
||||
points.shoulder = new Point(
|
||||
measurements.shoulderToShoulder / 2 + store.get('shoulderEase'),
|
||||
points.cbShoulder.y
|
||||
)
|
||||
|
||||
// Armhhole
|
||||
points.armholePitch = new Point(
|
||||
(measurements.shoulderToShoulder * options.acrossBackFactor) / 2 +
|
||||
|
@ -113,7 +96,7 @@ export default part => {
|
|||
|
||||
// Fit collar
|
||||
points.cfNeck = points.neck.rotate(-90, new Point(0, 0))
|
||||
let target = measurements.neckCircumference * (1 + options.collarEase)
|
||||
let target = measurements.neck * (1 + options.collarEase)
|
||||
let delta = 0
|
||||
let run = 0
|
||||
do {
|
||||
|
@ -135,18 +118,6 @@ export default part => {
|
|||
delta = paths.neckOpening.length() * 2 - target
|
||||
} while (Math.abs(delta) > 1 && options.brianFitCollar && run < 10)
|
||||
delete paths.neckOpening
|
||||
if (options.brianFitCollar) {
|
||||
debug({
|
||||
style: 'success',
|
||||
label: '🏁 Collar fitted',
|
||||
msg: `Target was ${units(target)}, delta of ${units(delta)} reached in ${run} attempts.`
|
||||
})
|
||||
} else
|
||||
debug({
|
||||
style: 'warning',
|
||||
label: '🚫 Not fittingcollar',
|
||||
msg: '(in Brian)'
|
||||
})
|
||||
|
||||
// Anchor point for sampling
|
||||
points.gridAnchor = points.cbHem
|
||||
|
|
|
@ -18,7 +18,7 @@ export default (part) => {
|
|||
} = part.shorthand()
|
||||
|
||||
// Cut arm a bit deeper at the front
|
||||
let deeper = measurements.chestCircumference * options.frontArmholeDeeper
|
||||
let deeper = measurements.chest * options.frontArmholeDeeper
|
||||
points.armholePitchCp1.x -= deeper
|
||||
points.armholePitch.x -= deeper
|
||||
points.armholePitchCp2.x -= deeper
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
export default part => {
|
||||
export default (part) => {
|
||||
let {
|
||||
debug,
|
||||
store,
|
||||
units,
|
||||
sa,
|
||||
|
@ -19,24 +18,11 @@ export default part => {
|
|||
|
||||
// Wrist
|
||||
let top = paths.sleevecap.bbox().topLeft.y
|
||||
debug({
|
||||
style: 'info',
|
||||
label: '🗸 Sleevecap height',
|
||||
msg: units(Math.abs(top))
|
||||
})
|
||||
debug({
|
||||
style: 'info',
|
||||
label: '🗸 Sleevecap width',
|
||||
msg: units(points.bicepsRight.x * 2)
|
||||
})
|
||||
points.centerWrist = new Point(
|
||||
0,
|
||||
top + measurements.shoulderToWrist * (1 + options.sleeveLengthBonus)
|
||||
)
|
||||
points.wristRight = points.centerWrist.shift(
|
||||
0,
|
||||
(measurements.wristCircumference * (1 + options.cuffEase)) / 2
|
||||
)
|
||||
points.wristRight = points.centerWrist.shift(0, (measurements.wrist * (1 + options.cuffEase)) / 2)
|
||||
points.wristLeft = points.wristRight.rotate(180, points.centerWrist)
|
||||
points.sleeveTip = paths.sleevecap.shiftFractionAlong(0.5)
|
||||
|
||||
|
|
|
@ -14,20 +14,20 @@ function sleevecapAdjust(store) {
|
|||
}
|
||||
|
||||
function draftSleevecap(part, run) {
|
||||
let { debug, units, store, measurements, options, Point, points, Path, paths } = part.shorthand()
|
||||
let { units, store, measurements, options, Point, points, Path, paths } = part.shorthand()
|
||||
// Sleeve center axis
|
||||
points.centerBiceps = new Point(0, 0)
|
||||
points.centerCap = points.centerBiceps.shift(
|
||||
90,
|
||||
options.sleevecapTopFactorY *
|
||||
(measurements.bicepsCircumference *
|
||||
(measurements.biceps *
|
||||
(1 + options.bicepsEase) *
|
||||
options.armholeDepthFactor *
|
||||
store.get('sleeveFactor'))
|
||||
)
|
||||
|
||||
// Left and right biceps points, limit impact of sleeveFactor to 25%
|
||||
let halfWidth = (measurements.bicepsCircumference * (1 + options.bicepsEase)) / 2
|
||||
let halfWidth = (measurements.biceps * (1 + options.bicepsEase)) / 2
|
||||
points.bicepsLeft = points.centerBiceps.shift(
|
||||
180,
|
||||
halfWidth * options.sleeveWidthGuarantee +
|
||||
|
@ -62,7 +62,7 @@ function draftSleevecap(part, run) {
|
|||
points.capQ3Base = points.backPitch.shiftFractionTowards(points.centerCap, 0.5)
|
||||
points.capQ4Base = points.backPitch.shiftFractionTowards(points.bicepsLeft, 0.5)
|
||||
// Offset points
|
||||
let baseOffset = measurements.bicepsCircumference * (1 + options.bicepsEase)
|
||||
let baseOffset = measurements.biceps * (1 + options.bicepsEase)
|
||||
points.capQ1 = points.capQ1Base.shift(
|
||||
points.bicepsRight.angle(points.frontPitch) + 90,
|
||||
baseOffset * options.sleevecapQ1Offset
|
||||
|
@ -129,19 +129,14 @@ function draftSleevecap(part, run) {
|
|||
let sleevecapEase = armholeLength * options.sleevecapEase
|
||||
store.set('sleevecapEase', sleevecapEase)
|
||||
store.set('sleevecapTarget', armholeLength + sleevecapEase)
|
||||
debug({
|
||||
style: 'info',
|
||||
label: '🗸 Sleevecap ease',
|
||||
msg: units(sleevecapEase)
|
||||
})
|
||||
|
||||
// Uncomment this line to see all sleevecap iterations
|
||||
//paths[run] = paths.sleevecap;
|
||||
}
|
||||
}
|
||||
|
||||
export default part => {
|
||||
let { debug, store, units, options, Point, points, paths } = part.shorthand()
|
||||
export default (part) => {
|
||||
let { store, units, options, Point, points, paths } = part.shorthand()
|
||||
|
||||
store.set('sleeveFactor', 1)
|
||||
let run = 0
|
||||
|
@ -152,20 +147,6 @@ export default part => {
|
|||
sleevecapAdjust(store)
|
||||
run++
|
||||
} while (options.brianFitSleeve === true && run < 30 && Math.abs(sleevecapDelta(store)) > 2)
|
||||
if (options.brianFitSleeve) {
|
||||
debug({
|
||||
style: 'success',
|
||||
label: '🏁 Sleevecap fitted',
|
||||
msg: `Target was ${units(store.get('sleevecapTarget'))}, delta of ${units(
|
||||
delta
|
||||
)} reached in ${run} attempts.`
|
||||
})
|
||||
} else
|
||||
debug({
|
||||
style: 'warning',
|
||||
label: '🚫 Not fittingsleevecap',
|
||||
msg: '(in Brian)'
|
||||
})
|
||||
|
||||
// Paths
|
||||
paths.sleevecap.attr('class', 'fabric')
|
||||
|
|
|
@ -1,136 +1,36 @@
|
|||
# Change log for: @freesewing/bruce
|
||||
|
||||
## 2.7.1 (2020-07-24)
|
||||
|
||||
## Unreleased
|
||||
### Fixed
|
||||
|
||||
**Note:** Version bump only for package bruce
|
||||
- Fixed a check for an undefined value in the store
|
||||
|
||||
## 2.7.0 (2020-07-12)
|
||||
|
||||
## 2.5.0 (2020-04-05)
|
||||
### Changed
|
||||
|
||||
**Note:** Version bump only for package bruce
|
||||
- Ported bruce to the new (names for) measurements. See [#416](https://github.com/freesewing/freesewing/issues/416)
|
||||
- Removed `Circumference` suffix from measurement names
|
||||
- Removed deprecated `debug()` statements
|
||||
|
||||
### Fixed
|
||||
|
||||
## 2.4.6 (2020-03-23)
|
||||
|
||||
**Note:** Version bump only for package bruce
|
||||
|
||||
|
||||
## 2.4.5 (2020-03-19)
|
||||
|
||||
**Note:** Version bump only for package bruce
|
||||
|
||||
|
||||
## 2.4.4 (2020-03-15)
|
||||
|
||||
**Note:** Version bump only for package bruce
|
||||
|
||||
|
||||
## 2.4.3 (2020-03-12)
|
||||
|
||||
**Note:** Version bump only for package bruce
|
||||
|
||||
|
||||
## 2.4.2 (2020-03-08)
|
||||
|
||||
**Note:** Version bump only for package bruce
|
||||
|
||||
|
||||
## 2.4.1 (2020-03-04)
|
||||
|
||||
**Note:** Version bump only for package bruce
|
||||
|
||||
|
||||
## 2.4.0 (2020-02-29)
|
||||
|
||||
**Note:** Version bump only for package bruce
|
||||
|
||||
|
||||
## 2.3.0 (2020-02-23)
|
||||
|
||||
**Note:** Version bump only for package bruce
|
||||
|
||||
|
||||
## 2.2.0 (2020-02-22)
|
||||
|
||||
**Note:** Version bump only for package bruce
|
||||
|
||||
|
||||
## 2.1.9 (2020-01-18)
|
||||
|
||||
**Note:** Version bump only for package bruce
|
||||
|
||||
|
||||
## 2.1.8 (2019-12-16)
|
||||
|
||||
**Note:** Version bump only for package bruce
|
||||
|
||||
|
||||
## 2.1.7 (2019-12-15)
|
||||
|
||||
**Note:** Version bump only for package bruce
|
||||
|
||||
|
||||
## 2.1.6 (2019-11-24)
|
||||
|
||||
**Note:** Version bump only for package bruce
|
||||
|
||||
|
||||
## 2.1.5 (2019-11-19)
|
||||
|
||||
**Note:** Version bump only for package bruce
|
||||
|
||||
|
||||
## 2.1.4 (2019-11-01)
|
||||
|
||||
**Note:** Version bump only for package bruce
|
||||
|
||||
|
||||
## 2.1.3 (2019-10-18)
|
||||
|
||||
**Note:** Version bump only for package bruce
|
||||
|
||||
|
||||
## 2.1.2 (2019-10-14)
|
||||
|
||||
**Note:** Version bump only for package bruce
|
||||
|
||||
|
||||
## 2.1.1 (2019-10-13)
|
||||
|
||||
**Note:** Version bump only for package bruce
|
||||
|
||||
|
||||
## 2.1.0 (2019-10-06)
|
||||
|
||||
**Note:** Version bump only for package bruce
|
||||
|
||||
|
||||
## 2.0.4 (2019-09-27)
|
||||
|
||||
**Note:** Version bump only for package bruce
|
||||
|
||||
- Sampling some options would not work in Bruce because the code shared across patterns would only run once. That's fixed now.
|
||||
|
||||
## 2.0.3 (2019-09-15)
|
||||
|
||||
### Fixed
|
||||
|
||||
- [#106](https://github.com/freesewing/freesewing/issues/106): Fix incorrect hem allowance
|
||||
## 2.0.2 (2019-09-06)
|
||||
|
||||
**Note:** Version bump only for package bruce
|
||||
|
||||
|
||||
## 2.0.1 (2019-09-01)
|
||||
|
||||
**Note:** Version bump only for package bruce
|
||||
|
||||
|
||||
|
||||
- [#106](https://github.com/freesewing/freesewing/issues/106): Fix incorrect hem allowance
|
||||
|
||||
## 2.0.0 (2019-08-25)
|
||||
|
||||
### Added
|
||||
|
||||
- Initial release
|
||||
|
||||
This is the **initial release**, and the start of this change log.
|
||||
|
||||
Prior to version 2, FreeSewing was not a JavaScript project.
|
||||
As such, that history is out of scope for this change log.
|
||||
> Prior to version 2, FreeSewing was not a JavaScript project.
|
||||
> As such, that history is out of scope for this change log.
|
||||
|
|
|
@ -1,27 +1,23 @@
|
|||
import { version } from "../package.json";
|
||||
import { version } from '../package.json'
|
||||
|
||||
export default {
|
||||
name: "bruce",
|
||||
name: 'bruce',
|
||||
version,
|
||||
design: "Joost De Cock",
|
||||
code: "Joost De Cock",
|
||||
department: "menswear",
|
||||
type: "pattern",
|
||||
design: 'Joost De Cock',
|
||||
code: 'Joost De Cock',
|
||||
department: 'menswear',
|
||||
type: 'pattern',
|
||||
difficulty: 3,
|
||||
tags: ["underwear", "bottom", "basics"],
|
||||
tags: ['underwear', 'bottom', 'basics'],
|
||||
optionGroups: {
|
||||
fit: ["bulge", "stretch", "legStretch", "backRise"],
|
||||
style: ["rise", "legBonus"]
|
||||
fit: ['bulge', 'stretch', 'legStretch', 'backRise'],
|
||||
style: ['rise', 'legBonus']
|
||||
},
|
||||
measurements: [
|
||||
"hipsCircumference",
|
||||
"upperLegCircumference",
|
||||
"hipsToUpperLeg"
|
||||
],
|
||||
measurements: ['hips', 'upperLeg', 'waistToHips', 'waistToUpperLeg'],
|
||||
dependencies: {
|
||||
side: "back",
|
||||
front: "inset",
|
||||
inset: "back"
|
||||
side: 'back',
|
||||
front: 'inset',
|
||||
inset: 'back'
|
||||
},
|
||||
options: {
|
||||
// Constants
|
||||
|
@ -54,4 +50,4 @@ export default {
|
|||
legStretch: { pct: 40, min: 25, max: 45 },
|
||||
backRise: { pct: 5, min: 0, max: 10 }
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
|
@ -16,15 +16,16 @@
|
|||
"@freesewing/plugin-i18n": "latest",
|
||||
"@freesewing/plugin-svgattr": "latest",
|
||||
"@freesewing/utils": "latest",
|
||||
"@material-ui/core": "^4.4.0",
|
||||
"@material-ui/icons": "^4.2.1",
|
||||
"@material-ui/lab": "^v4.0.0-alpha.25",
|
||||
"@material-ui/core": "^4.11.0",
|
||||
"@material-ui/icons": "^4.9.1",
|
||||
"@material-ui/lab": "^v4.0.0-alpha.56",
|
||||
"pattern": "link:..",
|
||||
"prismjs": "1.17.1",
|
||||
"react": "^16.9",
|
||||
"react-dom": "^16.9",
|
||||
"react-scripts": "^3.1.1",
|
||||
"prismjs": "1.20.0",
|
||||
"react": "^16.13",
|
||||
"react-dom": "^16.13",
|
||||
"react-scripts": "^3.4.1",
|
||||
"file-saver": "^2.0.2",
|
||||
"react-markdown": "4.3.1",
|
||||
"typeface-roboto-condensed": "latest"
|
||||
},
|
||||
"scripts": {
|
||||
|
@ -43,6 +44,6 @@
|
|||
"not op_mini all"
|
||||
],
|
||||
"devDependencies": {
|
||||
"babel-plugin-prismjs": "1.1.1"
|
||||
"babel-plugin-prismjs": "2.0.1"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,16 +6,23 @@ import '@freesewing/css-theme'
|
|||
|
||||
import Pattern from 'pattern'
|
||||
|
||||
const App = props => {
|
||||
const App = (props) => {
|
||||
let instance = new Pattern()
|
||||
let config = instance.config
|
||||
|
||||
// You can use this to add transations
|
||||
let translations = {
|
||||
JSON: 'JSON',
|
||||
someOtherString: 'Some other string that needs translation'
|
||||
}
|
||||
|
||||
return (
|
||||
<Workbench
|
||||
freesewing={freesewing}
|
||||
Pattern={Pattern}
|
||||
config={config}
|
||||
userLanguage="en"
|
||||
translations={translations}
|
||||
/>
|
||||
)
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@freesewing/bruce",
|
||||
"version": "2.5.0",
|
||||
"version": "2.7.2",
|
||||
"description": "A FreeSewing pattern for boxer briefs",
|
||||
"author": "Joost De Cock <joost@decock.org> (https://github.com/joostdecock)",
|
||||
"homepage": "https://freesewing.org/",
|
||||
|
@ -34,8 +34,8 @@
|
|||
"testci": "BABEL_ENV=production ./node_modules/.bin/_mocha tests/*.test.js --require @babel/register"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@freesewing/core": "^2.5.0",
|
||||
"@freesewing/plugin-bundle": "^2.5.0"
|
||||
"@freesewing/core": "^2.7.2",
|
||||
"@freesewing/plugin-bundle": "^2.7.2"
|
||||
},
|
||||
"dependencies": {},
|
||||
"devDependencies": {
|
||||
|
@ -46,14 +46,14 @@
|
|||
"eslint": "^5.16.0",
|
||||
"babel-jest": "24.7.1",
|
||||
"jest": "24.7.1",
|
||||
"@freesewing/components": "^2.5.0",
|
||||
"@freesewing/css-theme": "^2.5.0",
|
||||
"@freesewing/i18n": "^2.5.0",
|
||||
"@freesewing/mui-theme": "^2.5.0",
|
||||
"@freesewing/plugin-bust": "^2.5.0",
|
||||
"@freesewing/plugin-buttons": "^2.5.0",
|
||||
"@freesewing/plugin-flip": "^2.5.0",
|
||||
"@freesewing/utils": "^2.5.0",
|
||||
"@freesewing/components": "^2.7.2",
|
||||
"@freesewing/css-theme": "^2.7.2",
|
||||
"@freesewing/i18n": "^2.7.2",
|
||||
"@freesewing/mui-theme": "^2.7.2",
|
||||
"@freesewing/plugin-bust": "^2.7.2",
|
||||
"@freesewing/plugin-buttons": "^2.7.2",
|
||||
"@freesewing/plugin-flip": "^2.7.2",
|
||||
"@freesewing/utils": "^2.7.2",
|
||||
"@svgr/rollup": "^2.4.1",
|
||||
"cross-env": "^5.1.4",
|
||||
"gh-pages": "^1.2.0",
|
||||
|
@ -66,12 +66,12 @@
|
|||
"rollup-plugin-json": "^3.1.0",
|
||||
"rollup-plugin-node-resolve": "^3.3.0",
|
||||
"rollup-plugin-peer-deps-external": "^2.2.0",
|
||||
"rollup-plugin-postcss": "^1.6.2",
|
||||
"rollup-plugin-postcss": "^3.1.3",
|
||||
"rollup-plugin-url": "^1.4.0",
|
||||
"@material-ui/core": "4.0.1",
|
||||
"@material-ui/icons": "4.0.1",
|
||||
"@material-ui/lab": "^v4.0.0-alpha.14",
|
||||
"react-intl": "2.8.0",
|
||||
"react-intl": "5.4.1",
|
||||
"prop-types": "15.7.2",
|
||||
"mocha": "^6.1.4",
|
||||
"chai": "^4.1.2",
|
||||
|
|
|
@ -22,7 +22,7 @@ function tweakTusk(delta, part) {
|
|||
points.curveRightCpBottom = points.curveRightCpBottom.shift(90, delta / factor)
|
||||
}
|
||||
|
||||
export default function(part) {
|
||||
export default function (part) {
|
||||
let {
|
||||
store,
|
||||
sa,
|
||||
|
@ -34,8 +34,7 @@ export default function(part) {
|
|||
complete,
|
||||
paperless,
|
||||
macro,
|
||||
utils,
|
||||
debug
|
||||
utils
|
||||
} = part.shorthand()
|
||||
|
||||
// Initialize
|
||||
|
@ -76,7 +75,6 @@ export default function(part) {
|
|||
if (count > 150)
|
||||
throw 'We got stuck trying to calculate an optimal tusk length. Please report this.'
|
||||
}
|
||||
debug(`After ${count} iterations, tusk curve length is ${utils.round(delta)}mm off.`)
|
||||
|
||||
// Adjust midMid to new length
|
||||
points.bottomMid = new Point(0, points.rightTuskLeft.y)
|
||||
|
@ -158,11 +156,7 @@ export default function(part) {
|
|||
let saStart = paths.seamStart.offset(sa * -1)
|
||||
let saTrim = paths.trimBase.offset(sa * -1).trim()
|
||||
let saEnd = paths.seamEnd.offset(sa * -1)
|
||||
paths.sa = saStart
|
||||
.join(saTrim)
|
||||
.join(saEnd)
|
||||
.close()
|
||||
.attr('class', 'fabric sa')
|
||||
paths.sa = saStart.join(saTrim).join(saEnd).close().attr('class', 'fabric sa')
|
||||
} else {
|
||||
paths.sa = paths.seam
|
||||
.offset(sa * -1)
|
||||
|
|
|
@ -1,42 +1,45 @@
|
|||
export default function init(part) {
|
||||
let { store, options, measurements, utils } = part.shorthand()
|
||||
|
||||
if (store.get('init') !== true) {
|
||||
// Don't run this every time, except when sampling
|
||||
store.setIfUnset('init', false)
|
||||
if (store.get('init') !== true || part.context.settings.sample) {
|
||||
/* Set vertical scale to 1 (no stretch) */
|
||||
store.set('yScale', 1)
|
||||
|
||||
const hipsToUpperLeg = measurements.waistToUpperLeg - measurements.waistToHips
|
||||
/* Store rise, backRise and legBonus as absolute values */
|
||||
store.set('rise', measurements.hipsToUpperLeg * options.rise * store.get('yScale'))
|
||||
store.set('backRise', measurements.hipsToUpperLeg * options.backRise * store.get('yScale'))
|
||||
store.set('rise', hipsToUpperLeg * options.rise * store.get('yScale'))
|
||||
store.set('backRise', hipsToUpperLeg * options.backRise * store.get('yScale'))
|
||||
store.set('sideRise', store.get('backRise') * 0.75)
|
||||
store.set('frontRise', store.get('backRise') * 0.25)
|
||||
store.set('legBonus', measurements.hipsToUpperLeg * options.legBonus * store.get('yScale'))
|
||||
store.set('legBonus', hipsToUpperLeg * options.legBonus * store.get('yScale'))
|
||||
|
||||
/* Set horizontal scale based on stretch */
|
||||
store.set('xScale', utils.stretchToScale(options.stretch))
|
||||
store.set('xScaleLegs', utils.stretchToScale(options.legStretch))
|
||||
|
||||
/* Ratio of parts at the hips*/
|
||||
store.set('hips', measurements.hipsCircumference * store.get('xScale'))
|
||||
store.set('hips', measurements.hips * store.get('xScale'))
|
||||
store.set('hipsFront', store.get('hips') * options.hipRatioFront)
|
||||
let hipRatioSide = (1 - (options.hipRatioFront + options.hipRatioBack)) / 2
|
||||
store.set('hipsSide', store.get('hips') * hipRatioSide)
|
||||
store.set('hipsBack', store.get('hips') * options.hipRatioBack)
|
||||
|
||||
/* Ratio of parts at the legs*/
|
||||
store.set('leg', measurements.upperLegCircumference * store.get('xScaleLegs'))
|
||||
store.set('leg', measurements.upperLeg * store.get('xScaleLegs'))
|
||||
store.set('legInset', store.get('leg') * options.legRatioInset)
|
||||
let legRatioSide = 1 - options.legRatioInset - options.legRatioBack
|
||||
store.set('legSide', store.get('leg') * legRatioSide)
|
||||
store.set('legBack', store.get('leg') * options.legRatioBack)
|
||||
|
||||
/* Gusset */
|
||||
store.set('gusset', measurements.hipsCircumference * options.gussetRatio)
|
||||
store.set('gusset', measurements.hips * options.gussetRatio)
|
||||
store.set('gussetInsetRatio', options.gussetInsetRatio)
|
||||
|
||||
/* Length helper */
|
||||
store.set('length', measurements.hipsToUpperLeg * store.get('yScale'))
|
||||
store.set('riseLength', measurements.hipsToUpperLeg + store.get('rise'))
|
||||
store.set('length', hipsToUpperLeg * store.get('yScale'))
|
||||
store.set('riseLength', hipsToUpperLeg + store.get('rise'))
|
||||
store.set('fullLength', store.get('riseLength') + store.get('legBonus') * store.get('yScale'))
|
||||
|
||||
/* Height ratio front/inset */
|
||||
|
|
|
@ -1,137 +1,28 @@
|
|||
# Change log for: @freesewing/carlita
|
||||
|
||||
## 2.7.0 (2020-07-12)
|
||||
|
||||
## Unreleased
|
||||
|
||||
**Note:** Version bump only for package carlita
|
||||
|
||||
|
||||
## 2.5.0 (2020-04-05)
|
||||
|
||||
**Note:** Version bump only for package carlita
|
||||
|
||||
|
||||
## 2.4.6 (2020-03-23)
|
||||
|
||||
**Note:** Version bump only for package carlita
|
||||
|
||||
|
||||
## 2.4.5 (2020-03-19)
|
||||
|
||||
**Note:** Version bump only for package carlita
|
||||
|
||||
|
||||
## 2.4.4 (2020-03-15)
|
||||
|
||||
**Note:** Version bump only for package carlita
|
||||
|
||||
|
||||
## 2.4.3 (2020-03-12)
|
||||
|
||||
**Note:** Version bump only for package carlita
|
||||
|
||||
|
||||
## 2.4.2 (2020-03-08)
|
||||
|
||||
**Note:** Version bump only for package carlita
|
||||
|
||||
|
||||
## 2.4.1 (2020-03-04)
|
||||
|
||||
**Note:** Version bump only for package carlita
|
||||
|
||||
|
||||
## 2.4.0 (2020-02-29)
|
||||
|
||||
**Note:** Version bump only for package carlita
|
||||
|
||||
|
||||
## 2.3.0 (2020-02-23)
|
||||
|
||||
**Note:** Version bump only for package carlita
|
||||
### Changed
|
||||
|
||||
- Better range for the `shoulderSlopeReduction` measurement
|
||||
- Ported carlita to the new (names for) measurements. See [#416](https://github.com/freesewing/freesewing/issues/416)
|
||||
- Set a sample anchor point on the side part
|
||||
- Removed `Circumference` suffix from measurement names
|
||||
|
||||
## 2.2.0 (2020-02-22)
|
||||
|
||||
### Changed
|
||||
|
||||
- Renamed `highPointShoulderToBust` measurement to `hpsToBust`
|
||||
- Removed deprecated `centerBackNeckToWaist` measurement
|
||||
## 2.1.9 (2020-01-18)
|
||||
|
||||
**Note:** Version bump only for package carlita
|
||||
|
||||
|
||||
## 2.1.8 (2019-12-16)
|
||||
|
||||
**Note:** Version bump only for package carlita
|
||||
|
||||
|
||||
## 2.1.7 (2019-12-15)
|
||||
|
||||
**Note:** Version bump only for package carlita
|
||||
|
||||
|
||||
## 2.1.6 (2019-11-24)
|
||||
|
||||
**Note:** Version bump only for package carlita
|
||||
|
||||
|
||||
## 2.1.5 (2019-11-19)
|
||||
|
||||
**Note:** Version bump only for package carlita
|
||||
|
||||
|
||||
## 2.1.4 (2019-11-01)
|
||||
|
||||
**Note:** Version bump only for package carlita
|
||||
|
||||
|
||||
## 2.1.3 (2019-10-18)
|
||||
|
||||
**Note:** Version bump only for package carlita
|
||||
|
||||
|
||||
## 2.1.2 (2019-10-14)
|
||||
|
||||
**Note:** Version bump only for package carlita
|
||||
|
||||
|
||||
## 2.1.1 (2019-10-13)
|
||||
|
||||
**Note:** Version bump only for package carlita
|
||||
|
||||
|
||||
## 2.1.0 (2019-10-06)
|
||||
|
||||
**Note:** Version bump only for package carlita
|
||||
|
||||
|
||||
## 2.0.4 (2019-09-27)
|
||||
|
||||
**Note:** Version bump only for package carlita
|
||||
|
||||
|
||||
## 2.0.3 (2019-09-15)
|
||||
|
||||
**Note:** Version bump only for package carlita
|
||||
|
||||
|
||||
## 2.0.2 (2019-09-06)
|
||||
|
||||
**Note:** Version bump only for package carlita
|
||||
|
||||
|
||||
## 2.0.1 (2019-09-01)
|
||||
|
||||
**Note:** Version bump only for package carlita
|
||||
|
||||
|
||||
|
||||
- Renamed `highPointShoulderToBust` measurement to `hpsToBust`
|
||||
- Removed deprecated `centerBackNeckToWaist` measurement
|
||||
|
||||
## 2.0.0 (2019-08-25)
|
||||
|
||||
### Added
|
||||
|
||||
- Initial release
|
||||
|
||||
This is the **initial release**, and the start of this change log.
|
||||
|
||||
Prior to version 2, FreeSewing was not a JavaScript project.
|
||||
As such, that history is out of scope for this change log.
|
||||
> Prior to version 2, FreeSewing was not a JavaScript project.
|
||||
> As such, that history is out of scope for this change log.
|
||||
|
|
|
@ -52,21 +52,21 @@ export default {
|
|||
collar: ['collarHeight', 'collarSpread', 'collarFlare']
|
||||
},
|
||||
measurements: [
|
||||
'bicepsCircumference',
|
||||
'chestCircumference',
|
||||
'hipsCircumference',
|
||||
'hpsToHipsBack',
|
||||
'naturalWaist',
|
||||
'naturalWaistToHip',
|
||||
'neckCircumference',
|
||||
'biceps',
|
||||
'chest',
|
||||
'hips',
|
||||
'hpsToWaistBack',
|
||||
'waist',
|
||||
'waistToHips',
|
||||
'neck',
|
||||
'shoulderSlope',
|
||||
'shoulderToElbow',
|
||||
'shoulderToShoulder',
|
||||
'shoulderToWrist',
|
||||
'wristCircumference',
|
||||
'naturalWaistToFloor',
|
||||
'naturalWaistToSeat',
|
||||
'seatCircumference',
|
||||
'wrist',
|
||||
'waistToFloor',
|
||||
'waistToSeat',
|
||||
'seat',
|
||||
// For breasts
|
||||
'highBust',
|
||||
'bustSpan',
|
||||
|
@ -159,7 +159,7 @@ export default {
|
|||
sleevecapHeight: { pct: 45, min: 40, max: 60 },
|
||||
sleevecapEase: { pct: 1, min: 0, max: 10 },
|
||||
sleeveLengthBonus: { pct: 7, min: 0, max: 20 },
|
||||
shoulderSlopeReduction: { pct: 2, min: 1, max: 5 },
|
||||
shoulderSlopeReduction: { pct: 12, min: 0, max: 80 },
|
||||
backNeckCutout: { pct: 5, min: 2, max: 8 },
|
||||
frontArmholeDeeper: { pct: 0.5, min: 0, max: 1.5 },
|
||||
|
||||
|
|
|
@ -16,15 +16,16 @@
|
|||
"@freesewing/plugin-i18n": "latest",
|
||||
"@freesewing/plugin-svgattr": "latest",
|
||||
"@freesewing/utils": "latest",
|
||||
"@material-ui/core": "^4.4.0",
|
||||
"@material-ui/icons": "^4.2.1",
|
||||
"@material-ui/lab": "^v4.0.0-alpha.25",
|
||||
"@material-ui/core": "^4.11.0",
|
||||
"@material-ui/icons": "^4.9.1",
|
||||
"@material-ui/lab": "^v4.0.0-alpha.56",
|
||||
"pattern": "link:..",
|
||||
"prismjs": "1.17.1",
|
||||
"react": "^16.9",
|
||||
"react-dom": "^16.9",
|
||||
"react-scripts": "^3.1.1",
|
||||
"prismjs": "1.20.0",
|
||||
"react": "^16.13",
|
||||
"react-dom": "^16.13",
|
||||
"react-scripts": "^3.4.1",
|
||||
"file-saver": "^2.0.2",
|
||||
"react-markdown": "4.3.1",
|
||||
"typeface-roboto-condensed": "latest"
|
||||
},
|
||||
"scripts": {
|
||||
|
@ -43,6 +44,6 @@
|
|||
"not op_mini all"
|
||||
],
|
||||
"devDependencies": {
|
||||
"babel-plugin-prismjs": "1.1.1"
|
||||
"babel-plugin-prismjs": "2.0.1"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,16 +6,23 @@ import '@freesewing/css-theme'
|
|||
|
||||
import Pattern from 'pattern'
|
||||
|
||||
const App = props => {
|
||||
const App = (props) => {
|
||||
let instance = new Pattern()
|
||||
let config = instance.config
|
||||
|
||||
// You can use this to add transations
|
||||
let translations = {
|
||||
JSON: 'JSON',
|
||||
someOtherString: 'Some other string that needs translation'
|
||||
}
|
||||
|
||||
return (
|
||||
<Workbench
|
||||
freesewing={freesewing}
|
||||
Pattern={Pattern}
|
||||
config={config}
|
||||
userLanguage="en"
|
||||
translations={translations}
|
||||
/>
|
||||
)
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@freesewing/carlita",
|
||||
"version": "2.5.0",
|
||||
"version": "2.7.2",
|
||||
"description": "A FreeSewing pattern for Sherlock Holmes cosplay; Or just a nice long coat",
|
||||
"author": "Joost De Cock <joost@decock.org> (https://github.com/joostdecock)",
|
||||
"homepage": "https://freesewing.org/",
|
||||
|
@ -34,13 +34,13 @@
|
|||
"testci": "BABEL_ENV=production ./node_modules/.bin/_mocha tests/*.test.js --require @babel/register"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@freesewing/core": "^2.5.0",
|
||||
"@freesewing/plugin-bundle": "^2.5.0",
|
||||
"@freesewing/brian": "^2.5.0",
|
||||
"@freesewing/bent": "^2.5.0",
|
||||
"@freesewing/carlton": "^2.5.0",
|
||||
"@freesewing/plugin-bust": "^2.5.0",
|
||||
"@freesewing/plugin-buttons": "^2.5.0"
|
||||
"@freesewing/core": "^2.7.2",
|
||||
"@freesewing/plugin-bundle": "^2.7.2",
|
||||
"@freesewing/brian": "^2.7.2",
|
||||
"@freesewing/bent": "^2.7.2",
|
||||
"@freesewing/carlton": "^2.7.2",
|
||||
"@freesewing/plugin-bust": "^2.7.2",
|
||||
"@freesewing/plugin-buttons": "^2.7.2"
|
||||
},
|
||||
"dependencies": {},
|
||||
"devDependencies": {
|
||||
|
@ -51,14 +51,14 @@
|
|||
"eslint": "^5.16.0",
|
||||
"babel-jest": "24.7.1",
|
||||
"jest": "24.7.1",
|
||||
"@freesewing/components": "^2.5.0",
|
||||
"@freesewing/css-theme": "^2.5.0",
|
||||
"@freesewing/i18n": "^2.5.0",
|
||||
"@freesewing/mui-theme": "^2.5.0",
|
||||
"@freesewing/plugin-bust": "^2.5.0",
|
||||
"@freesewing/plugin-buttons": "^2.5.0",
|
||||
"@freesewing/plugin-flip": "^2.5.0",
|
||||
"@freesewing/utils": "^2.5.0",
|
||||
"@freesewing/components": "^2.7.2",
|
||||
"@freesewing/css-theme": "^2.7.2",
|
||||
"@freesewing/i18n": "^2.7.2",
|
||||
"@freesewing/mui-theme": "^2.7.2",
|
||||
"@freesewing/plugin-bust": "^2.7.2",
|
||||
"@freesewing/plugin-buttons": "^2.7.2",
|
||||
"@freesewing/plugin-flip": "^2.7.2",
|
||||
"@freesewing/utils": "^2.7.2",
|
||||
"@svgr/rollup": "^2.4.1",
|
||||
"cross-env": "^5.1.4",
|
||||
"gh-pages": "^1.2.0",
|
||||
|
@ -71,12 +71,12 @@
|
|||
"rollup-plugin-json": "^3.1.0",
|
||||
"rollup-plugin-node-resolve": "^3.3.0",
|
||||
"rollup-plugin-peer-deps-external": "^2.2.0",
|
||||
"rollup-plugin-postcss": "^1.6.2",
|
||||
"rollup-plugin-postcss": "^3.1.3",
|
||||
"rollup-plugin-url": "^1.4.0",
|
||||
"@material-ui/core": "4.0.1",
|
||||
"@material-ui/icons": "4.0.1",
|
||||
"@material-ui/lab": "^v4.0.0-alpha.14",
|
||||
"react-intl": "2.8.0",
|
||||
"react-intl": "5.4.1",
|
||||
"prop-types": "15.7.2",
|
||||
"mocha": "^6.1.4",
|
||||
"chai": "^4.1.2",
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
export default function(part) {
|
||||
export default function (part) {
|
||||
let {
|
||||
paperless,
|
||||
sa,
|
||||
|
@ -20,6 +20,8 @@ export default function(part) {
|
|||
for (let i in paths) delete paths[i]
|
||||
for (let i in snippets) delete snippets[i]
|
||||
|
||||
points.anchor = points.armholePitchRot2.clone()
|
||||
|
||||
paths.saBase = new Path()
|
||||
.move(points.hem)
|
||||
.line(points.seat)
|
||||
|
@ -30,11 +32,7 @@ export default function(part) {
|
|||
._curve(points.bustPointCp1, points.bustPoint)
|
||||
.curve(points.bustPointCp2, points.psWaistCp1, points.psWaist)
|
||||
.line(points.psHem)
|
||||
paths.seam = paths.saBase
|
||||
.clone()
|
||||
.line(points.hem)
|
||||
.close()
|
||||
.attr('class', 'fabric')
|
||||
paths.seam = paths.saBase.clone().line(points.hem).close().attr('class', 'fabric')
|
||||
|
||||
if (complete) {
|
||||
points.title = points.bustPoint.shiftFractionTowards(points.waist, 0.5)
|
||||
|
|
|
@ -1,137 +1,45 @@
|
|||
# Change log for: @freesewing/carlton
|
||||
|
||||
## 2.7.1 (2020-07-24)
|
||||
|
||||
## Unreleased
|
||||
### Fixed
|
||||
|
||||
**Note:** Version bump only for package carlton
|
||||
- Removed unused `hipsEase` code
|
||||
|
||||
## 2.7.0 (2020-07-12)
|
||||
|
||||
## 2.5.0 (2020-04-05)
|
||||
|
||||
**Note:** Version bump only for package carlton
|
||||
|
||||
|
||||
## 2.4.6 (2020-03-23)
|
||||
|
||||
**Note:** Version bump only for package carlton
|
||||
|
||||
|
||||
## 2.4.5 (2020-03-19)
|
||||
|
||||
**Note:** Version bump only for package carlton
|
||||
|
||||
|
||||
## 2.4.4 (2020-03-15)
|
||||
|
||||
**Note:** Version bump only for package carlton
|
||||
|
||||
|
||||
## 2.4.3 (2020-03-12)
|
||||
|
||||
**Note:** Version bump only for package carlton
|
||||
|
||||
|
||||
## 2.4.2 (2020-03-08)
|
||||
|
||||
**Note:** Version bump only for package carlton
|
||||
|
||||
|
||||
## 2.4.1 (2020-03-04)
|
||||
|
||||
**Note:** Version bump only for package carlton
|
||||
|
||||
|
||||
## 2.4.0 (2020-02-29)
|
||||
|
||||
**Note:** Version bump only for package carlton
|
||||
|
||||
|
||||
## 2.3.0 (2020-02-23)
|
||||
|
||||
**Note:** Version bump only for package carlton
|
||||
### Changed
|
||||
|
||||
- Better range for the `shoulderSlopeReduction` measurement
|
||||
- Ported carlton to the new (names for) measurements. See [#416](https://github.com/freesewing/freesewing/issues/416)
|
||||
- Removed `Circumference` suffix from measurement names
|
||||
|
||||
## 2.2.0 (2020-02-22)
|
||||
|
||||
### Changed
|
||||
|
||||
- Removed deprecated `centerBackNeckToWaist` measurement
|
||||
## 2.1.9 (2020-01-18)
|
||||
|
||||
**Note:** Version bump only for package carlton
|
||||
|
||||
|
||||
## 2.1.8 (2019-12-16)
|
||||
|
||||
**Note:** Version bump only for package carlton
|
||||
|
||||
- Removed deprecated `centerBackNeckToWaist` measurement
|
||||
|
||||
## 2.1.7 (2019-12-15)
|
||||
|
||||
### Fixed
|
||||
|
||||
- Added missing scalebox
|
||||
- Re-numbered tail as part 5
|
||||
## 2.1.6 (2019-11-24)
|
||||
|
||||
**Note:** Version bump only for package carlton
|
||||
|
||||
|
||||
## 2.1.5 (2019-11-19)
|
||||
|
||||
**Note:** Version bump only for package carlton
|
||||
|
||||
|
||||
## 2.1.4 (2019-11-01)
|
||||
|
||||
**Note:** Version bump only for package carlton
|
||||
|
||||
|
||||
## 2.1.3 (2019-10-18)
|
||||
|
||||
**Note:** Version bump only for package carlton
|
||||
|
||||
|
||||
## 2.1.2 (2019-10-14)
|
||||
|
||||
**Note:** Version bump only for package carlton
|
||||
|
||||
|
||||
## 2.1.1 (2019-10-13)
|
||||
|
||||
**Note:** Version bump only for package carlton
|
||||
|
||||
|
||||
## 2.1.0 (2019-10-06)
|
||||
|
||||
**Note:** Version bump only for package carlton
|
||||
|
||||
- Added missing scalebox
|
||||
- Re-numbered tail as part 5
|
||||
|
||||
## 2.0.4 (2019-09-27)
|
||||
|
||||
### Fixed
|
||||
|
||||
- [#108](https://github.com/freesewing/freesewing/issues/108): Fixed incorrect width of the Carlton tail
|
||||
## 2.0.3 (2019-09-15)
|
||||
|
||||
**Note:** Version bump only for package carlton
|
||||
|
||||
|
||||
## 2.0.2 (2019-09-06)
|
||||
|
||||
**Note:** Version bump only for package carlton
|
||||
|
||||
|
||||
## 2.0.1 (2019-09-01)
|
||||
|
||||
**Note:** Version bump only for package carlton
|
||||
|
||||
|
||||
|
||||
- [#108](https://github.com/freesewing/freesewing/issues/108): Fixed incorrect width of the Carlton tail
|
||||
|
||||
## 2.0.0 (2019-08-25)
|
||||
|
||||
### Added
|
||||
|
||||
- Initial release
|
||||
|
||||
This is the **initial release**, and the start of this change log.
|
||||
|
||||
Prior to version 2, FreeSewing was not a JavaScript project.
|
||||
As such, that history is out of scope for this change log.
|
||||
> Prior to version 2, FreeSewing was not a JavaScript project.
|
||||
> As such, that history is out of scope for this change log.
|
||||
|
|
|
@ -51,21 +51,21 @@ export default {
|
|||
collar: ['collarHeight', 'collarSpread', 'collarFlare']
|
||||
},
|
||||
measurements: [
|
||||
'bicepsCircumference',
|
||||
'chestCircumference',
|
||||
'hipsCircumference',
|
||||
'hpsToHipsBack',
|
||||
'naturalWaist',
|
||||
'naturalWaistToHip',
|
||||
'neckCircumference',
|
||||
'biceps',
|
||||
'chest',
|
||||
'hips',
|
||||
'hpsToWaistBack',
|
||||
'waist',
|
||||
'waistToHips',
|
||||
'neck',
|
||||
'shoulderSlope',
|
||||
'shoulderToElbow',
|
||||
'shoulderToShoulder',
|
||||
'shoulderToWrist',
|
||||
'wristCircumference',
|
||||
'naturalWaistToFloor',
|
||||
'naturalWaistToSeat',
|
||||
'seatCircumference'
|
||||
'wrist',
|
||||
'waistToFloor',
|
||||
'waistToSeat',
|
||||
'seat'
|
||||
],
|
||||
dependencies: {
|
||||
bentBack: 'bentBase',
|
||||
|
@ -124,7 +124,7 @@ export default {
|
|||
sleevecapHeight: { pct: 45, min: 40, max: 60 },
|
||||
sleevecapEase: { pct: 1, min: 0, max: 10 },
|
||||
sleeveLengthBonus: { pct: 7, min: 0, max: 20 },
|
||||
shoulderSlopeReduction: { pct: 2, min: 1, max: 5 },
|
||||
shoulderSlopeReduction: { pct: 12, min: 0, max: 80 },
|
||||
backNeckCutout: { pct: 5, min: 2, max: 8 },
|
||||
frontArmholeDeeper: { pct: 0.5, min: 0, max: 1.5 },
|
||||
|
||||
|
|
|
@ -16,15 +16,16 @@
|
|||
"@freesewing/plugin-i18n": "latest",
|
||||
"@freesewing/plugin-svgattr": "latest",
|
||||
"@freesewing/utils": "latest",
|
||||
"@material-ui/core": "^4.4.0",
|
||||
"@material-ui/icons": "^4.2.1",
|
||||
"@material-ui/lab": "^v4.0.0-alpha.25",
|
||||
"@material-ui/core": "^4.11.0",
|
||||
"@material-ui/icons": "^4.9.1",
|
||||
"@material-ui/lab": "^v4.0.0-alpha.56",
|
||||
"pattern": "link:..",
|
||||
"prismjs": "1.17.1",
|
||||
"react": "^16.9",
|
||||
"react-dom": "^16.9",
|
||||
"react-scripts": "^3.1.1",
|
||||
"prismjs": "1.20.0",
|
||||
"react": "^16.13",
|
||||
"react-dom": "^16.13",
|
||||
"react-scripts": "^3.4.1",
|
||||
"file-saver": "^2.0.2",
|
||||
"react-markdown": "4.3.1",
|
||||
"typeface-roboto-condensed": "latest"
|
||||
},
|
||||
"scripts": {
|
||||
|
@ -43,6 +44,6 @@
|
|||
"not op_mini all"
|
||||
],
|
||||
"devDependencies": {
|
||||
"babel-plugin-prismjs": "1.1.1"
|
||||
"babel-plugin-prismjs": "2.0.1"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,16 +6,23 @@ import '@freesewing/css-theme'
|
|||
|
||||
import Pattern from 'pattern'
|
||||
|
||||
const App = props => {
|
||||
const App = (props) => {
|
||||
let instance = new Pattern()
|
||||
let config = instance.config
|
||||
|
||||
// You can use this to add transations
|
||||
let translations = {
|
||||
JSON: 'JSON',
|
||||
someOtherString: 'Some other string that needs translation'
|
||||
}
|
||||
|
||||
return (
|
||||
<Workbench
|
||||
freesewing={freesewing}
|
||||
Pattern={Pattern}
|
||||
config={config}
|
||||
userLanguage="en"
|
||||
translations={translations}
|
||||
/>
|
||||
)
|
||||
}
|
||||
|
|
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