From cbe2e74514103af3059bcbfa68d3086249e3eab1 Mon Sep 17 00:00:00 2001 From: Benjamin F Date: Fri, 5 Aug 2022 23:28:14 -0700 Subject: [PATCH] Fix 2516 bug where a large shoulder slope can cause an error. --- CHANGELOG.md | 6 ++++++ config/changelog.yaml | 3 +++ designs/breanna/src/sleeve.js | 8 ++++++-- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a2651ed8138..c8b6020605f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,12 @@ ## Unreleased +### breanna + +#### Fixed + + - Fixed bug where a large shoulder slope could cause an error. Fixes [#2516](https://github.com/freesewing/freesewing/issues/2516) + ### brian #### Fixed diff --git a/config/changelog.yaml b/config/changelog.yaml index 2ec93f663c9..a9ca003e3a5 100644 --- a/config/changelog.yaml +++ b/config/changelog.yaml @@ -17,6 +17,9 @@ Unreleased: - migrated `waistbandWidth` option from `mm` to snapped `pct` option Fixed: + breanna: + - Fixed bug where a large shoulder slope could cause an error. + Fixes [#2516](https://github.com/freesewing/freesewing/issues/2516) brian: - Make s3 options sticky to zero below 10% to avoid path split issues. Fixes [#2249](https://github.com/freesewing/freesewing/issues/2249) diff --git a/designs/breanna/src/sleeve.js b/designs/breanna/src/sleeve.js index 09864482678..08fb5888684 100644 --- a/designs/breanna/src/sleeve.js +++ b/designs/breanna/src/sleeve.js @@ -65,7 +65,9 @@ export default (part) => { if (q1Len === frontTarget) points.frontNotch = points.capQ1.clone() else if (q1Len > frontTarget) points.frontNotch = q1.shiftAlong(frontTarget) else { - let q2 = new Path().move(points.capQ1).curve(points.capQ1Cp2, points.capQ2Cp1, points.capQ2) + let q2 = new Path().move(points.capQ1) + .curve(points.capQ1Cp2, points.capQ2Cp1, points.capQ2) + .curve(points.capQ2Cp2, points.capQ3Cp1, points.capQ3) points.frontNotch = q2.shiftAlong(frontTarget - q1Len) } let q4 = new Path().move(points.bicepsLeft)._curve(points.capQ4Cp2, points.capQ4) @@ -74,7 +76,9 @@ export default (part) => { if (q4Len === backTarget) points.backNotch = points.capQ4.clone() else if (q4Len > backTarget) points.backNotch = q4.shiftAlong(backTarget) else { - let q3 = new Path().move(points.capQ4).curve(points.capQ4Cp1, points.capQ3Cp2, points.capQ3) + let q3 = new Path().move(points.capQ4) + .curve(points.capQ4Cp1, points.capQ3Cp2, points.capQ3) + .curve(points.capQ3Cp1, points.capQ2Cp2, points.capQ2) points.backNotch = q3.shiftAlong(backTarget - q4Len) } snippets.frontNotch = new Snippet('notch', points.frontNotch)