diff --git a/packages/sven/config/index.js b/packages/sven/config/index.js index 16c1b042ff5..c627bc49e80 100644 --- a/packages/sven/config/index.js +++ b/packages/sven/config/index.js @@ -18,7 +18,7 @@ export default { 'lengthBonus', 'sleeveLengthBonus', ], - style: ['ribbing', 'ribbingHeight'], + style: ['ribbing', 'ribbingHeight', 's3Collar', 's3Armhole' ], advanced: [ 'acrossBackFactor', 'armholeDepthFactor', @@ -110,6 +110,10 @@ export default { shoulderEase: { pct: 0, min: -2, max: 6 }, + // s3 is short for Shoulder Seam Shift + s3Collar: { pct: 0, min: -100, max: 100 }, + s3Armhole: { pct: 0, min: -100, max: 100 }, + sleevecapEase: { pct: 0, min: 0, max: 10 }, sleevecapTopFactorX: { pct: 50, min: 25, max: 75 }, sleevecapTopFactorY: { pct: 100, min: 35, max: 165 }, diff --git a/packages/sven/src/front.js b/packages/sven/src/front.js index eeef74fd125..8dc7d3bd114 100644 --- a/packages/sven/src/front.js +++ b/packages/sven/src/front.js @@ -35,10 +35,11 @@ export default (part) => { .curve_(points.hipsCp2, points.armhole) .curve(points.armholeCp2, points.armholeHollowCp1, points.armholeHollow) .curve(points.armholeHollowCp2, points.armholePitchCp1, points.armholePitch) - .curve(points.armholePitchCp2, points.shoulderCp1, points.shoulder) - .line(points.neck) - if (front) paths.saBase.curve(points.neckCp2Front, points.cfNeckCp1, points.cfNeck) - else paths.saBase.curve_(points.neckCp2, points.cbNeck) + if (front) paths.saBase = paths.saBase.join(paths.frontArmhole) + else paths.saBase = paths.saBase.join(paths.backArmhole) + paths.saBase.line(points.s3CollarSplit) + if (front) paths.saBase = paths.saBase.join(paths.frontCollar) + else paths.saBase = paths.saBase.join(paths.backCollar) if (front) paths.hemBase = new Path().move(points.cfHem).line(points.hem) else paths.hemBase = new Path().move(points.cbHem).line(points.hem)