From fde568f35e844db392febeddb5df0691862f3c7f Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 27 Dec 2018 15:04:32 +0100 Subject: [PATCH] sparkles: Paperless yoke --- packages/simon/index.html | 4 +- packages/simon/src/back.js | 18 +++++- packages/simon/src/buttonholeplacket.js | 18 +++++- packages/simon/src/buttonplacket.js | 18 +++++- packages/simon/src/collar.js | 18 +++++- packages/simon/src/cuff-barrel-angled.js | 18 +++++- packages/simon/src/front.js | 18 +++++- packages/simon/src/frontleft-classic-cuton.js | 18 +++++- .../simon/src/frontleft-classic-seperate.js | 18 +++++- packages/simon/src/frontleft-seamless.js | 18 +++++- .../simon/src/frontright-classic-cuton.js | 18 +++++- .../simon/src/frontright-classic-seperate.js | 18 +++++- packages/simon/src/frontright-seamless.js | 18 +++++- packages/simon/src/sleeve.js | 18 +++++- packages/simon/src/yoke.js | 58 ++++++++++++++++++- 15 files changed, 266 insertions(+), 30 deletions(-) diff --git a/packages/simon/index.html b/packages/simon/index.html index dd879778791..c8302266579 100644 --- a/packages/simon/index.html +++ b/packages/simon/index.html @@ -112,9 +112,9 @@ let settings1 = { ...settings }; pattern1.settings.options.cuffButtonRows = 2; pattern1.settings.options.barrelCuffNarrowButton = "yes"; pattern1.settings.options.cuffStyle = "straightBarrelCuff"; - //pattern1.settings.options.splitYoke = "yes"; + pattern1.settings.options.splitYoke = "yes"; pattern1.settings.sa = 10; - pattern1.settings.only = "collar"; + pattern1.settings.only = "yoke"; pattern1.draft(); console.log(pattern1); document.getElementById("svg1").innerHTML = pattern1.render(); diff --git a/packages/simon/src/back.js b/packages/simon/src/back.js index 12f79adcf8d..e29e178a14b 100644 --- a/packages/simon/src/back.js +++ b/packages/simon/src/back.js @@ -1,8 +1,22 @@ import { calculateReduction } from "./shared"; export default part => { - // prettier-ignore - let {store, measurements, utils, sa, Point, points, Path, paths, Snippet, snippets, complete, paperless, macro, options} = part.shorthand(); + let { + store, + measurements, + utils, + sa, + Point, + points, + Path, + paths, + Snippet, + snippets, + complete, + paperless, + macro, + options + } = part.shorthand(); // Populare store with data we need calculateReduction(part); diff --git a/packages/simon/src/buttonholeplacket.js b/packages/simon/src/buttonholeplacket.js index 639657107c7..73ebd20a822 100644 --- a/packages/simon/src/buttonholeplacket.js +++ b/packages/simon/src/buttonholeplacket.js @@ -1,8 +1,22 @@ import { addButtonHoles } from "./shared"; export default part => { - // prettier-ignore - let {store, measurements, utils, sa, Point, points, Path, paths, Snippet, snippets, complete, paperless, macro, options} = part.shorthand(); + let { + store, + measurements, + utils, + sa, + Point, + points, + Path, + paths, + Snippet, + snippets, + complete, + paperless, + macro, + options + } = part.shorthand(); if ( options.buttonholePlacketType !== "seperate" || diff --git a/packages/simon/src/buttonplacket.js b/packages/simon/src/buttonplacket.js index 2f85445c4bb..0d65d9b6f93 100644 --- a/packages/simon/src/buttonplacket.js +++ b/packages/simon/src/buttonplacket.js @@ -1,8 +1,22 @@ import { addButtons } from "./shared"; export default part => { - // prettier-ignore - let {store, measurements, utils, sa, Point, points, Path, paths, Snippet, snippets, complete, paperless, macro, options} = part.shorthand(); + let { + store, + measurements, + utils, + sa, + Point, + points, + Path, + paths, + Snippet, + snippets, + complete, + paperless, + macro, + options + } = part.shorthand(); if ( options.buttonPlacketType !== "seperate" || diff --git a/packages/simon/src/collar.js b/packages/simon/src/collar.js index 7001d7c9af1..0496810a7a7 100644 --- a/packages/simon/src/collar.js +++ b/packages/simon/src/collar.js @@ -1,6 +1,20 @@ export default part => { - // prettier-ignore - let {store, measurements, utils, sa, Point, points, Path, paths, Snippet, snippets, complete, paperless, macro, options} = part.shorthand(); + let { + store, + measurements, + utils, + sa, + Point, + points, + Path, + paths, + Snippet, + snippets, + complete, + paperless, + macro, + options + } = part.shorthand(); const draft = function(tweak = 1) { let length = diff --git a/packages/simon/src/cuff-barrel-angled.js b/packages/simon/src/cuff-barrel-angled.js index 266d7ab7e91..c7c6fec6c22 100644 --- a/packages/simon/src/cuff-barrel-angled.js +++ b/packages/simon/src/cuff-barrel-angled.js @@ -5,8 +5,22 @@ import { } from "./shared"; export default part => { - // prettier-ignore - let {store, measurements, utils, sa, Point, points, Path, paths, Snippet, snippets, complete, paperless, macro, options} = part.shorthand(); + let { + store, + measurements, + utils, + sa, + Point, + points, + Path, + paths, + Snippet, + snippets, + complete, + paperless, + macro, + options + } = part.shorthand(); draftBarrelCuff(part); let height = store.get("cuffHeight"); diff --git a/packages/simon/src/front.js b/packages/simon/src/front.js index b564d90ad8b..ed842176bf5 100644 --- a/packages/simon/src/front.js +++ b/packages/simon/src/front.js @@ -1,8 +1,22 @@ import { calculateReduction } from "./shared"; export default part => { - // prettier-ignore - let {store, measurements, utils, sa, Point, points, Path, paths, Snippet, snippets, complete, paperless, macro, options} = part.shorthand(); + let { + store, + measurements, + utils, + sa, + Point, + points, + Path, + paths, + Snippet, + snippets, + complete, + paperless, + macro, + options + } = part.shorthand(); // Populare store with data we need calculateReduction(part); diff --git a/packages/simon/src/frontleft-classic-cuton.js b/packages/simon/src/frontleft-classic-cuton.js index fbe3f67d520..9e90ee834c9 100644 --- a/packages/simon/src/frontleft-classic-cuton.js +++ b/packages/simon/src/frontleft-classic-cuton.js @@ -1,8 +1,22 @@ import { addButtonHoles } from "./shared"; export default part => { - // prettier-ignore - let {store, measurements, utils, sa, Point, points, Path, paths, Snippet, snippets, complete, paperless, macro, options} = part.shorthand(); + let { + store, + measurements, + utils, + sa, + Point, + points, + Path, + paths, + Snippet, + snippets, + complete, + paperless, + macro, + options + } = part.shorthand(); let fold = options.buttonholePlacketFoldWidth; let width = options.buttonholePlacketWidth; diff --git a/packages/simon/src/frontleft-classic-seperate.js b/packages/simon/src/frontleft-classic-seperate.js index 68215eb7130..a5c6dafe1ab 100644 --- a/packages/simon/src/frontleft-classic-seperate.js +++ b/packages/simon/src/frontleft-classic-seperate.js @@ -1,8 +1,22 @@ import { addButtonHoles } from "./shared"; export default part => { - // prettier-ignore - let {store, measurements, utils, sa, Point, points, Path, paths, Snippet, snippets, complete, paperless, macro, options} = part.shorthand(); + let { + store, + measurements, + utils, + sa, + Point, + points, + Path, + paths, + Snippet, + snippets, + complete, + paperless, + macro, + options + } = part.shorthand(); let fold = options.buttonholePlacketFoldWidth; points.neckEdge = utils.lineIntersectsCurve( diff --git a/packages/simon/src/frontleft-seamless.js b/packages/simon/src/frontleft-seamless.js index f31f55767f2..6597ce79cce 100644 --- a/packages/simon/src/frontleft-seamless.js +++ b/packages/simon/src/frontleft-seamless.js @@ -1,8 +1,22 @@ import { addButtonHoles } from "./shared"; export default part => { - // prettier-ignore - let {store, measurements, utils, sa, Point, points, Path, paths, Snippet, snippets, complete, paperless, macro, options} = part.shorthand(); + let { + store, + measurements, + utils, + sa, + Point, + points, + Path, + paths, + Snippet, + snippets, + complete, + paperless, + macro, + options + } = part.shorthand(); console.log("seamless buttonjholes"); let fold = options.buttonholePlacketFoldWidth; diff --git a/packages/simon/src/frontright-classic-cuton.js b/packages/simon/src/frontright-classic-cuton.js index 3b564ebf572..a5e0bdce063 100644 --- a/packages/simon/src/frontright-classic-cuton.js +++ b/packages/simon/src/frontright-classic-cuton.js @@ -1,8 +1,22 @@ import { addButtons } from "./shared"; export default part => { - // prettier-ignore - let {store, measurements, utils, sa, Point, points, Path, paths, Snippet, snippets, complete, paperless, macro, options} = part.shorthand(); + let { + store, + measurements, + utils, + sa, + Point, + points, + Path, + paths, + Snippet, + snippets, + complete, + paperless, + macro, + options + } = part.shorthand(); let width = options.buttonPlacketWidth; points.placketTopIn = utils.lineIntersectsCurve( diff --git a/packages/simon/src/frontright-classic-seperate.js b/packages/simon/src/frontright-classic-seperate.js index 65847d57557..b4600227874 100644 --- a/packages/simon/src/frontright-classic-seperate.js +++ b/packages/simon/src/frontright-classic-seperate.js @@ -1,6 +1,20 @@ export default part => { - // prettier-ignore - let {store, measurements, utils, sa, Point, points, Path, paths, Snippet, snippets, complete, paperless, macro, options} = part.shorthand(); + let { + store, + measurements, + utils, + sa, + Point, + points, + Path, + paths, + Snippet, + snippets, + complete, + paperless, + macro, + options + } = part.shorthand(); let width = options.buttonPlacketWidth; points.placketTopIn = utils.lineIntersectsCurve( diff --git a/packages/simon/src/frontright-seamless.js b/packages/simon/src/frontright-seamless.js index 462e2da40ba..5370102a471 100644 --- a/packages/simon/src/frontright-seamless.js +++ b/packages/simon/src/frontright-seamless.js @@ -1,8 +1,22 @@ import { addButtons } from "./shared"; export default part => { - // prettier-ignore - let {store, measurements, utils, sa, Point, points, Path, paths, Snippet, snippets, complete, paperless, macro, options} = part.shorthand(); + let { + store, + measurements, + utils, + sa, + Point, + points, + Path, + paths, + Snippet, + snippets, + complete, + paperless, + macro, + options + } = part.shorthand(); let width = options.buttonPlacketWidth; points.placketTopFold1 = points.cfNeck.shift(0, width / 2); diff --git a/packages/simon/src/sleeve.js b/packages/simon/src/sleeve.js index cd984f3f6cb..900f91e143c 100644 --- a/packages/simon/src/sleeve.js +++ b/packages/simon/src/sleeve.js @@ -1,8 +1,22 @@ import { calculateReduction } from "./shared"; export default part => { - // prettier-ignore - let {store, measurements, utils, sa, Point, points, Path, paths, Snippet, snippets, complete, paperless, macro, options} = part.shorthand(); + let { + store, + measurements, + utils, + sa, + Point, + points, + Path, + paths, + Snippet, + snippets, + complete, + paperless, + macro, + options + } = part.shorthand(); // TODO: Sleeve pleats diff --git a/packages/simon/src/yoke.js b/packages/simon/src/yoke.js index a257dc26500..f86d873a884 100644 --- a/packages/simon/src/yoke.js +++ b/packages/simon/src/yoke.js @@ -1,8 +1,22 @@ import { calculateReduction } from "./shared"; export default part => { - // prettier-ignore - let {store, measurements, utils, sa, Point, points, Path, paths, Snippet, snippets, complete, paperless, macro, options} = part.shorthand(); + let { + store, + measurements, + utils, + sa, + Point, + points, + Path, + paths, + Snippet, + snippets, + complete, + paperless, + macro, + options + } = part.shorthand(); for (let id of Object.keys(part.paths)) delete part.paths[id]; @@ -63,6 +77,46 @@ export default part => { // Paperless? if (paperless) { + macro("pd", { + path: new Path().move(points.cbNeck)._curve(points.neckCp2, points.neck), + d: 15 + }); + macro("hd", { + from: points.cbNeck, + to: points.neck, + y: points.neck.y - 15 - sa + }); + macro("ld", { + from: points.neck, + to: points.shoulder, + d: 15 + sa + }); + macro("hd", { + from: points.cbYoke, + to: points.armholePitch, + y: points.cbYoke.y + 15 + sa + }); + macro("hd", { + from: points.cbYoke, + to: points.shoulder, + y: points.cbYoke.y + 30 + sa + }); + macro("vd", { + from: points.cbYoke, + to: points.cbNeck, + x: points.cbYoke.x - 15 - sa + }); + macro("pd", { + path: new Path() + .move(points.armholePitch) + .curve(points.armholePitchCp2, points.shoulderCp1, points.shoulder), + d: 15 + sa + }); + macro("vd", { + from: points.armholePitch, + to: points.shoulder, + x: points.shoulder.x + 30 + sa + }); } return part;