From 6acdae9de20df1a974903946a08840229a23bdfc Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Sun, 14 Mar 2021 11:32:43 +0100 Subject: [PATCH] feat(titan): Redrew the crotch and cross seam with new options This commit adds the `crossSeamAngle` and `crotchSeamAngle` options that control how the crotch- and cross seam reach the fork. You can get the same result as what happened prior to this commit by setting both options to zero. However, their defaults are not zero, so this commit changes the out-of-the-box pattern. --- config/changelog.yaml | 16 ++++++++++++++-- packages/titan/config/index.js | 3 +++ packages/titan/src/back.js | 7 +++---- packages/titan/src/front.js | 8 ++++---- 4 files changed, 24 insertions(+), 10 deletions(-) diff --git a/config/changelog.yaml b/config/changelog.yaml index 992390c2217..61513cc99b9 100644 --- a/config/changelog.yaml +++ b/config/changelog.yaml @@ -1,5 +1,17 @@ -2.14.1: - date: +2.15.0: + date: unreleased + + Added: + charlie: + - Inital release of the Charlie Chinos pattern + titan: + - Added the crossSeamCurveAngle option + - Added the crotchSeamCurveAngle option + + Changed: + titan: + - Crotch- and Cross seam have been redrawn using the new angle options + Fixed: titan: - Adapt seat control point when waist is dropped below the hip line diff --git a/packages/titan/config/index.js b/packages/titan/config/index.js index 8c47cff9a96..bf6ccab4fec 100644 --- a/packages/titan/config/index.js +++ b/packages/titan/config/index.js @@ -17,6 +17,7 @@ export default { 'crossSeamCurveBend', 'crotchSeamCurveStart', 'crotchSeamCurveBend', + 'crotchSeamCurveAngle', 'grainlinePosition', 'legBalance', 'waistBalance' @@ -59,8 +60,10 @@ export default { legBalance: { pct: 57.5, min: 52.5, max: 62.5 }, crossSeamCurveStart: { pct: 85, min: 60, max: 100 }, crossSeamCurveBend: { pct: 65, min: 45, max: 85 }, + crossSeamCurveAngle: { deg: 12, min: 0, max: 20 }, crotchSeamCurveStart: { pct: 80, min: 60, max: 95 }, crotchSeamCurveBend: { pct: 80, min: 45, max: 100 }, + crotchSeamCurveAngle: { deg: 25, min: 0, max: 35 }, waistBalance: { pct: 60, min: 30, max: 90 }, grainlinePosition: { pct: 45, min: 30, max: 60 } } diff --git a/packages/titan/src/back.js b/packages/titan/src/back.js index 5af12acf290..7cf820b5ea6 100644 --- a/packages/titan/src/back.js +++ b/packages/titan/src/back.js @@ -76,10 +76,9 @@ export default (part) => { points.crossSeamCurveMax, options.crossSeamCurveBend ) - points.crossSeamCurveCp2 = points.fork.shiftFractionTowards( - points.crossSeamCurveMax, - options.crossSeamCurveBend - ) + points.crossSeamCurveCp2 = points.fork + .shiftFractionTowards(points.crossSeamCurveMax, options.crossSeamCurveBend) + .rotate(options.crossSeamCurveAngle, points.fork) } // Shorthand diff --git a/packages/titan/src/front.js b/packages/titan/src/front.js index 61c0609e03f..6303709bedc 100644 --- a/packages/titan/src/front.js +++ b/packages/titan/src/front.js @@ -74,10 +74,10 @@ export default (part) => { points.fork, points.fork.shift(0, 666) ) - points.crotchSeamCurveCp1 = points.fork.shiftFractionTowards( - points.crotchSeamCurveMax, - options.crotchSeamCurveBend - ) + points.crotchSeamCurveCp1 = points.fork + .shiftFractionTowards(points.crotchSeamCurveMax, options.crotchSeamCurveBend) + .rotate(options.crotchSeamCurveAngle * -1, points.fork) + console.log(points.crotchSeamCurveCp1) points.crotchSeamCurveCp2 = points.crotchSeamCurveStart.shiftFractionTowards( points.crotchSeamCurveMax, options.crotchSeamCurveBend