From 02ba417a6e8b6ff62ace7a7bce837c1160e4260b Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Sat, 9 Jul 2022 16:49:30 +0200 Subject: [PATCH] fix(wahid): Prevent facing/lining overlap. Closes #2233 --- config/changelog.yaml | 3 +++ designs/wahid/src/front.js | 7 +++---- designs/wahid/src/frontfacing.js | 2 +- designs/wahid/src/frontlining.js | 2 +- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/config/changelog.yaml b/config/changelog.yaml index 60802db18b4..41d5e10b026 100644 --- a/config/changelog.yaml +++ b/config/changelog.yaml @@ -11,6 +11,9 @@ Unreleased: brian: - Make s3 options sticky to zero below 10% to avoid path split issues. Fixes [#2249](https://github.com/freesewing/freesewing/issues/2249) + wahid: + - Prevent facing/lining overlap when shoulders get very narrow + fixes [#2233](https://github.com/freesewing/freesewing/issues/2233) 2.21.3: date: 2022-07-02 diff --git a/designs/wahid/src/front.js b/designs/wahid/src/front.js index fc2d30ba145..3bf4146babf 100644 --- a/designs/wahid/src/front.js +++ b/designs/wahid/src/front.js @@ -208,7 +208,8 @@ export default (part) => { // Facing/Lining boundary (flb) points.flbTop = points.neck.shiftFractionTowards(points.shoulder, 0.5) - points.flbCp = points.dartTop.shift(90, points.dartTop.dist(points.flbTop) / 2) + points.flbCp = points.dartTop.shift(-90, points.armholePitch.dy(points.flbTop) / 2) + points.flbCpTop = points.flbTop.shiftTowards(points.neck, points.flbTop.dy(points.armholePitch)).rotate(90, points.flbTop) // Seam line delete paths.cutonfold @@ -274,11 +275,9 @@ export default (part) => { } // Facing/Lining boundary (flb) - points.flbTop = points.neck.shiftFractionTowards(points.shoulder, 0.5) - points.flbCp = points.dartTop.shift(90, points.dartTop.dist(points.flbTop) / 2) paths.flbFacing = new Path() .move(points.dartTop) - .curve_(points.flbCp, points.flbTop) + .curve(points.flbCp, points.flbCpTop, points.flbTop) .attr('class', 'fabric') paths.flbLining = paths.flbFacing.clone().attr('class', 'lining dashed') diff --git a/designs/wahid/src/frontfacing.js b/designs/wahid/src/frontfacing.js index fc16a38dc93..3f7e43b106c 100644 --- a/designs/wahid/src/frontfacing.js +++ b/designs/wahid/src/frontfacing.js @@ -12,7 +12,7 @@ export default (part) => { .line(points.dartHipLeft) .curve(points.dartHipLeftCpTop, points.dartWaistLeftCpBottom, points.dartWaistLeft) .curve_(points.dartWaistLeftCpTop, points.dartTop) - .curve_(points.flbCp, points.flbTop) + .curve(points.flbCp, points.flbCpTop, points.flbTop) .line(points.neck) .curve(points.neckCp2, points.closureTopCp1, points.closureTop) if (options.hemStyle === 'classic') { diff --git a/designs/wahid/src/frontlining.js b/designs/wahid/src/frontlining.js index 24c2f4d9de9..55549211e18 100644 --- a/designs/wahid/src/frontlining.js +++ b/designs/wahid/src/frontlining.js @@ -15,7 +15,7 @@ export default (part) => { .curve(points.armholeHollowCp2, points.armholePitchCp1, points.armholePitch) .curve(points.armholePitchCp2, points.shoulderCp1, points.shoulder) .line(points.flbTop) - ._curve(points.flbCp, points.dartTop) + .curve(points.flbCpTop, points.flbCp, points.dartTop) ._curve(points.dartWaistRightCpTop, points.dartWaistRight) .curve(points.dartWaistRightCpBottom, points.dartHipRightCpTop, points.dartHipRight) .line(points.dartEnd)