From adebec8b4b13587c4e7d9fc62cfa1c6768f36b32 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Sat, 16 Mar 2019 15:42:39 +0100 Subject: [PATCH] wrench: Tweaked options based on sample test --- packages/jaeger/config/index.js | 28 +++++++++++++--------------- packages/jaeger/index.html | 2 +- packages/jaeger/src/back.js | 7 ++++--- packages/jaeger/src/front.js | 9 ++++++++- packages/jaeger/src/frontbase.js | 19 ++++++++++++------- packages/jaeger/src/shared.js | 4 ---- 6 files changed, 38 insertions(+), 31 deletions(-) diff --git a/packages/jaeger/config/index.js b/packages/jaeger/config/index.js index f13954cff47..b80186e069d 100644 --- a/packages/jaeger/config/index.js +++ b/packages/jaeger/config/index.js @@ -77,7 +77,7 @@ export default { armholeDepthFactor: { pct: 65, min: 50, max: 70 }, backNeckCutout: { pct: 5, min: 2, max: 8 }, bicepsEase: { pct: 20, min: 0, max: 50 }, - chestEase: { pct: 8, min: -4, max: 20 }, + chestEase: { pct: 10, min: 5, max: 20 }, collarEase: { pct: 3.5, min: 0, max: 10 }, cuffEase: { pct: 20, min: 0, max: 200 }, frontArmholeDeeper: { pct: 0.5, min: 0, max: 1.5 }, @@ -103,14 +103,14 @@ export default { pocketFoldover: { pct: 25, min: 15, max: 35 }, - waistEase: { pct: 10, min: 5, max: 20 }, - hipsEase: { pct: 10, min: 5, max: 20 }, + waistEase: { pct: 14, min: 8, max: 25 }, + hipsEase: { pct: 12, min: 8, max: 20 }, centerBackDart: { pct: 0.5, min: 0, max: 1.5 }, centerFrontHemDrop: { pct: 2, min: 0, max: 4 }, - backVent: { count: 2, min: 0, max: 2 }, + backVent: { count: 1, min: 0, max: 2 }, backVentLength: { pct: 35, min: 15, max: 100 }, frontCutawayAngle: {deg: 2.5, min: 1, max: 4}, @@ -120,37 +120,35 @@ export default { chestPocketDepth: { pct: 110, min: 70, max: 150 }, chestPocketWidth: { pct: 37, min: 30, max: 45 }, - chestPocketPlacement: {pct: 52, min: 55, max: 65 }, - chestPocketAngle: { deg: 2.5, min: 0, max: 5 }, + chestPocketPlacement: {pct: 52, min: 40, max: 60 }, + chestPocketAngle: { deg: 2.5, min: 0, max: 7 }, chestPocketWeltSize: { pct: 17.5, min: 10, max: 25 }, frontPocketPlacement: { pct: 75, min: 65, max: 85 }, frontPocketWidth: { pct: 68, min: 55, max: 75 }, frontPocketDepth: { pct: 110, min: 80, max: 130 }, - lapelStart: { pct: 35, min: 25, max: 45 }, + lapelStart: { pct: 10, min: 0, max: 35 }, lapelReduction: { pct: 5, min: 0, max: 10 }, - collarBend: { deg: 5, min: 0, max: 10 }, - collarSpread: { deg: 13, min: 5, max: 25 }, - collarHeight: { pct: 9, min: 7, max: 12 }, + collarSpread: { deg: 13, min: 5, max: 35 }, + collarHeight: { pct: 9, min: 7, max: 10 }, collarNotchDepth: { pct: 15, min: 15, max: 50 }, collarNotchAngle: { deg: 45, min: 30, max: 60 }, collarNotchReturn: { pct: 100, min: 50, max: 100 }, collarRoll: {mm: 2.5, min: 0, max: 5 }, - waistReductionRatioBack: { pct: 15, min: 0, max: 25 }, - waistReductionRatioFront: { pct: 15, min: 10, max: 20 }, + waistReductionRatioBack: { pct: 15, min: 10, max: 25 }, + waistReductionRatioFront: { pct: 15, min: 10, max: 25 }, hipsReductionRatioBack: { pct: 25, min: 20, max: 30 }, hipsReductionRatioFront: { pct: 25, min: 20, max: 30 }, frontDartPlacement: { pct: 55, min: 45, max: 60 }, - sideFrontPlacement: { pct: 90, min: 80, max: 100 }, - + sideFrontPlacement: { pct: 85, min: 80, max: 90 }, chestShaping: { pct: 30, min: 0, max: 100 }, rollLineCollarHeight: { pct: 6, min: 5, max: 9 }, shoulderSlopeReduction: { pct: 2, min: 0, max: 5 }, - lapelBreak: { pct: 10, min: 0, max: 25 }, buttonLength: { pct: 30, min: 30, max: 60 }, + buttons: { count: 2, min: 1, max: 3 }, } }; diff --git a/packages/jaeger/index.html b/packages/jaeger/index.html index 3c698dd2e56..8d433538143 100644 --- a/packages/jaeger/index.html +++ b/packages/jaeger/index.html @@ -58,7 +58,7 @@ pattern.use(freesewing.plugins.designer); pattern.use(freesewing.plugins.validate); //pattern.draft(); -pattern.sampleOption("waistEase"); + pattern.sampleOption("buttonLength"); document.getElementById("svg1").innerHTML = pattern.render(); function pointHover(evt) { diff --git a/packages/jaeger/src/back.js b/packages/jaeger/src/back.js index 73f46c36e9a..f119b7e2e1a 100644 --- a/packages/jaeger/src/back.js +++ b/packages/jaeger/src/back.js @@ -87,9 +87,10 @@ export default function(part) { .curve(points.armholeHollowCp2, points.armholePitchCp1, points.armholePitch) .curve(points.armholePitchCp2, points.shoulderCp1, points.shoulder) .line(points.neck) - .curve_(points.neckCp2, points.cbNeck) - ._curve(points.cbChestCp1, points.cbChest) - .curve(points.cbChestCp2, points.cbWaistCp1, points.cbWaist) + .curve_(points.neckCp2, points.cbNeck); + if (options.centerBackDart > 0) paths.saBase = paths.saBase._curve(points.cbChestCp1, points.cbChest); + else paths.saBase = paths.saBase.line(points.cbChest); + paths.saBase = paths.saBase.curve(points.cbChestCp2, points.cbWaistCp1, points.cbWaist); if (options.backVent === 1) { paths.saBase = paths.saBase .join( diff --git a/packages/jaeger/src/front.js b/packages/jaeger/src/front.js index d319060c43d..004c4dec4e4 100644 --- a/packages/jaeger/src/front.js +++ b/packages/jaeger/src/front.js @@ -74,7 +74,7 @@ export default function(part) { // Lapel break point and cutaway point points.lapelBreakPoint = new Point( points.hemEdge.x, - points.dartTop.y * (1 + options.lapelBreak) + points.dartTop.y * (1 + options.lapelStart) ); points.cutawayPoint = points.lapelBreakPoint.shift( -90, @@ -346,6 +346,13 @@ export default function(part) { .close() .attr("class", "fabric"); + paths.frontPocket = new Path() + .move(points.frontPocketTopEnd) + .line(points.frontPocketTopLeft) + .line(points.frontPocketBottomLeft) + .line(points.frontPocketBottomEnd) + .attr("class", "help"); + if (complete) { if (sa) { diff --git a/packages/jaeger/src/frontbase.js b/packages/jaeger/src/frontbase.js index 4f7a3e71b34..888f74fbc0d 100644 --- a/packages/jaeger/src/frontbase.js +++ b/packages/jaeger/src/frontbase.js @@ -131,13 +131,18 @@ export default function(part) { store.set("pocketWidth", width); store.set("pocketDepth", depth); - paths.frontPocket = new Path() - .move(points.frontPocketTopRight) - .line(points.frontPocketTopLeft) - .line(points.frontPocketBottomLeft) - .line(points.frontPocketBottomRight) - .line(points.frontPocketTopRight) - .close() + points.frontPocketTopEnd = utils.curveIntersectsY( + points.waist, + points.waistCp1, + points.hipsCp2, + points.hips, + points.frontPocketTopLeft.y + ); + points.frontPocketBottomEnd = utils.beamIntersectsY( + points.hips, + points.hem, + points.frontPocketBottomLeft.y + ); paths.dart = new Path() .move(points.dartRight) diff --git a/packages/jaeger/src/shared.js b/packages/jaeger/src/shared.js index f5638fcc66d..117268fc8fb 100644 --- a/packages/jaeger/src/shared.js +++ b/packages/jaeger/src/shared.js @@ -4,8 +4,6 @@ export const calculateRatios = part => { let { store, measurements, options } = part.shorthand(); - if (store.get("ratiosCalculated")) return true; - // Make sure collar height makes sense if (options.collarHeight * 2 < options.rollLineCollarHeight) options.rollLineCollarHeight = options.collarHeight * 2; @@ -25,8 +23,6 @@ export const calculateRatios = part => { store.set("hipsReductionFront", store.get("hipsReduction") * options.hipsReductionRatioFront); store.set("hipsReductionSide", store.get("hipsReduction") * (1 - options.hipsReductionRatioFront - options.hipsReductionRatioBack)); - store.set("ratiosCalculated", true); - // FIXME: Still needed? // Prevent chest shaping from being 0, because that will get read as 360 degrees // if($this->o('chestShaping') == 0) $this->setOptionIfUnset('chestShaping', 0.0001);