diff --git a/packages/breanna/config/index.js b/packages/breanna/config/index.js index 2d48b74986a..dc9cd73b783 100644 --- a/packages/breanna/config/index.js +++ b/packages/breanna/config/index.js @@ -36,6 +36,7 @@ export default { advanced: [ 'acrossBackFactor', 'armholeDepthFactor', + 'backNeckCutout', 'frontArmholeDeeper', 'shoulderSlopeReduction', 'sleeveWidthGuarantee', @@ -65,19 +66,18 @@ export default { ] }, measurements: [ - 'hpsToHipsBack', - 'hpsToHipsFront', - 'hpsToWaistBack', - 'shoulderToShoulder', - 'centerBackNeckToHips', - 'naturalWaist', + 'bustFront', + 'bustSpan', 'highBust', 'highBustFront', 'hpsToBust', - 'bustFront', - 'bustSpan', - 'shoulderSlope', - 'neckCircumference' + 'hpsToHipsBack', + 'hpsToHipsFront', + 'naturalWaist', + 'naturalWaistToHip', + 'neckCircumference', + 'shoulderToShoulder', + 'shoulderSlope' ], dependencies: { back: 'base', @@ -150,6 +150,7 @@ export default { // Percentages acrossBackFactor: { pct: 96, min: 93, max: 100 }, armholeDepthFactor: { pct: 100, min: 80, max: 120 }, + backNeckCutout: { pct: 5, min: 2, max: 8 }, shoulderDartSize: { pct: 7, min: 4, max: 10 }, shoulderDartLength: { pct: 85, min: 60, max: 100 }, waistDartSize: { pct: 10, min: 4, max: 15 }, diff --git a/packages/breanna/src/base.js b/packages/breanna/src/base.js index e463023f21e..1017bd631a4 100644 --- a/packages/breanna/src/base.js +++ b/packages/breanna/src/base.js @@ -19,7 +19,7 @@ export default part => { // Shoulder 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.hpsToWaistBack) + points.cbWaist = new Point(0, measurements.hpsToHipsBack - measurements.naturalWaistToHip) points.cbHips = new Point(0, measurements.hpsToHipsBack) points.shoulder = utils .circlesIntersect( @@ -32,14 +32,14 @@ export default part => { .shift() // Step 2/3: add vertical ease to waist and hips - points.cbWaist = new Point(0, measurements.hpsToWaistBack * (1 + options.verticalEase)) + points.cbWaist = new Point( + 0, + (measurements.hpsToHipsBack - measurements.naturalWaistToHip) * (1 + options.verticalEase) + ) points.cbHips = new Point(0, measurements.hpsToHipsBack * (1 + options.verticalEase)) // Neck - points.cbNeck = points.cbHips.shift( - 90, - measurements.centerBackNeckToHips * (1 + options.verticalEase) - ) + points.cbNeck = new Point(0, options.backNeckCutout * measurements.neckCircumference) points.hps = new Point( (measurements.neckCircumference * (1 + options.collarEase)) / options.collarFactor, 0 diff --git a/packages/breanna/src/front-base.js b/packages/breanna/src/front-base.js index 6f2dd55924e..ee58b615a9e 100644 --- a/packages/breanna/src/front-base.js +++ b/packages/breanna/src/front-base.js @@ -70,7 +70,7 @@ export default part => { points.cfWaist = new Point( 0, measurements.hpsToHipsFront * (1 + options.verticalEase) - - (measurements.hpsToHipsBack - measurements.hpsToWaistBack) * (1 + options.verticalEase) + measurements.naturalWaistToHip * (1 + options.verticalEase) ) points.waist = utils.beamIntersectsY(points.armhole, points.bustSide, points.cfWaist.y) points.waist = points.armhole.shiftTowards(points.waist, store.get('backSideSeamLength'))