1
0
Fork 0

Merge branch 'develop' into i18n

This commit is contained in:
Joost De Cock 2020-08-01 11:02:11 +02:00 committed by GitHub
commit a0cd94622c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
578 changed files with 15495 additions and 15754 deletions

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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
View 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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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
View file

@ -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

File diff suppressed because it is too large Load diff

View file

@ -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

View file

@ -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}}'

View file

@ -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'

View file

@ -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)

View file

@ -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.

View file

@ -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

View file

@ -1,5 +1,5 @@
{
"version": "2.5.0",
"version": "2.7.2",
"npmClient": "yarn",
"command": {
"publish": {

View file

@ -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"

View file

@ -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.

View file

@ -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 },

View file

@ -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"
}
}

View file

@ -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

View file

@ -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",

View file

@ -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', {

View file

@ -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())
}
}

View file

@ -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
})
}

View file

@ -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.

View file

@ -13,7 +13,7 @@ export default {
fit: ['collarEase', 'adjustmentRibbon'],
style: ['tipWidth', 'knotWidth', 'bowLength', 'bowStyle', 'endStyle']
},
measurements: ['neckCircumference'],
measurements: ['neck'],
dependencies: {},
inject: {
bow1: 'base',

View file

@ -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"
}
}

View file

@ -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}
/>
)
}

View file

@ -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",

View file

@ -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()

View file

@ -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)

View file

@ -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.

View file

@ -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 }
}
}

View file

@ -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"
}
}

View file

@ -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}
/>
)
}

View file

@ -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",

View file

@ -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)

View file

@ -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)

View file

@ -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.

View file

@ -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',

View file

@ -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"
}
}

View file

@ -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}
/>
)
}

View file

@ -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",

View file

@ -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)

View file

@ -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'))

View file

@ -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)

View file

@ -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)

View file

@ -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.

View file

@ -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 },

View file

@ -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"
}
}

View file

@ -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}
/>
)
}

View file

@ -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",

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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)

View file

@ -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')

View file

@ -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.

View file

@ -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 }
}
};
}

View file

@ -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"
}
}

View file

@ -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}
/>
)
}

View file

@ -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",

View file

@ -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)

View file

@ -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 */

View file

@ -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.

View file

@ -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 },

View file

@ -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"
}
}

View file

@ -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}
/>
)
}

View file

@ -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",

View file

@ -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)

View file

@ -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.

View file

@ -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 },

View file

@ -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"
}
}

View file

@ -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