From 6f76474c7a432b3c03649444f54a99d4da5ab019 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Sat, 9 Jul 2022 17:05:00 +0200 Subject: [PATCH] fix(simone): Don't do negative FBA. Closes #2121 --- config/changelog.yaml | 3 +++ designs/simone/src/fba-front.js | 13 ++++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/config/changelog.yaml b/config/changelog.yaml index 41d5e10b026..01aaf59998d 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) + simone: + - Don't do a negative FBA from there's no need for an FBA + Fixes [#2121](https://github.com/freesewing/freesewing/issues/2121) wahid: - Prevent facing/lining overlap when shoulders get very narrow fixes [#2233](https://github.com/freesewing/freesewing/issues/2233) diff --git a/designs/simone/src/fba-front.js b/designs/simone/src/fba-front.js index 1b16ffe1fd9..5755ebab443 100644 --- a/designs/simone/src/fba-front.js +++ b/designs/simone/src/fba-front.js @@ -1,5 +1,5 @@ export default (part) => { - let { + const { measurements, Point, points, @@ -12,6 +12,7 @@ export default (part) => { utils, sa, complete, + raise } = part.shorthand() /* @@ -31,6 +32,16 @@ export default (part) => { * */ const FBA = ((1 + options.chestEase) * (measurements.bust - measurements.highBust)) / 2 + /* + * If the FBA is negative, that means the high bust measurement is higher than the + * front bust. That's not uncommon for people who don't have much breast tissue but + * it generates a negative dart which is confusing and incorrect. So in that case, just + * return the original part from simon + */ + if (FBA < 0) { + raise.info('No FBA required, using unaltered Simon front') + return part + } /* * Locate bust point