diff --git a/packages/benjamin/src/bow1.js b/packages/benjamin/src/bow1.js index 4365259800a..1a04d02873c 100644 --- a/packages/benjamin/src/bow1.js +++ b/packages/benjamin/src/bow1.js @@ -1,15 +1,5 @@ export default function(part) { - let { - Point, - points, - Path, - paths, - complete, - macro, - sa, - store, - paperless - } = part.shorthand() + let { Point, points, Path, paths, complete, macro, sa, store, paperless } = part.shorthand() points.bandBottomLeft = points.bandBottomLeft.shift(0, 0) points.bandTopLeft = points.bandBottomLeft.flipY() @@ -49,7 +39,7 @@ export default function(part) { at: points.titleAnchor, nr: 1, title: 'bowTie', - scale: (store.get('tipWidth')/75) + scale: store.get('tipWidth') / 75 }) points.scaleboxAnchor = points.bandTopLeft.shift(30, 80) macro('scalebox', { at: points.scaleboxAnchor }) diff --git a/packages/benjamin/src/bow2.js b/packages/benjamin/src/bow2.js index 393769d5948..26bf9122bfd 100644 --- a/packages/benjamin/src/bow2.js +++ b/packages/benjamin/src/bow2.js @@ -55,7 +55,7 @@ export default function(part) { at: points.titleAnchor, nr: 2, title: 'bowTie', - scale: (store.get('tipWidth')/75) + scale: store.get('tipWidth') / 75 }) } diff --git a/packages/benjamin/src/bow3.js b/packages/benjamin/src/bow3.js index 2152c339930..475b5cfcd27 100644 --- a/packages/benjamin/src/bow3.js +++ b/packages/benjamin/src/bow3.js @@ -55,7 +55,7 @@ export default function(part) { at: points.titleAnchor, nr: 3, title: 'bowTie', - scale: (store.get('tipWidth')/75) + scale: store.get('tipWidth') / 75 }) } diff --git a/packages/penelope/example/src/App.test.js b/packages/penelope/example/src/App.test.js index 23c181f0276..4bf19359ea4 100644 --- a/packages/penelope/example/src/App.test.js +++ b/packages/penelope/example/src/App.test.js @@ -1,9 +1,9 @@ -import React from "react"; -import ReactDOM from "react-dom"; -import App from "./App"; +import React from 'react' +import ReactDOM from 'react-dom' +import App from './App' -it("renders without crashing", () => { - const div = document.createElement("div"); - ReactDOM.render(, div); - ReactDOM.unmountComponentAtNode(div); -}); +it('renders without crashing', () => { + const div = document.createElement('div') + ReactDOM.render(, div) + ReactDOM.unmountComponentAtNode(div) +}) diff --git a/packages/penelope/src/index.js b/packages/penelope/src/index.js index d25192d695b..e308d781e13 100644 --- a/packages/penelope/src/index.js +++ b/packages/penelope/src/index.js @@ -1,16 +1,16 @@ -import freesewing from "@freesewing/core"; -import plugins from "@freesewing/plugin-bundle"; -import config from "../config"; -import draftFront from "./front"; -import draftBack from "./back"; -import draftWaistband from "./waistband"; +import freesewing from '@freesewing/core' +import plugins from '@freesewing/plugin-bundle' +import config from '../config' +import draftFront from './front' +import draftBack from './back' +import draftWaistband from './waistband' // Create new design -const Pattern = new freesewing.Design(config, plugins); +const Pattern = new freesewing.Design(config, plugins) // Attach the draft methods to the prototype -Pattern.prototype.draftFront = draftFront; -Pattern.prototype.draftBack = draftBack; -Pattern.prototype.draftWaistband = draftWaistband; +Pattern.prototype.draftFront = draftFront +Pattern.prototype.draftBack = draftBack +Pattern.prototype.draftWaistband = draftWaistband -export default Pattern; +export default Pattern diff --git a/packages/penelope/src/utils.js b/packages/penelope/src/utils.js index ce79aa57ecf..4badda88c82 100644 --- a/packages/penelope/src/utils.js +++ b/packages/penelope/src/utils.js @@ -14,7 +14,7 @@ function dartCalcFront(options, seatWaistDiff, nrOfDarts) { 4) / nrOfDarts) * (0.5 + options.dartToSideSeamFactor) - ); + ) } function dartCalcBack(options, seatWaistDiff, nrOfDarts) { @@ -31,18 +31,18 @@ function dartCalcBack(options, seatWaistDiff, nrOfDarts) { options.dartBackControl3) / nrOfDarts) * (0.5 + options.dartToSideSeamFactor) - ); + ) } function dartCalc(options, seat, seatEase, waist, waistEase) { - seat += seatEase; - waist += waistEase; - let seatWaistDiff = Math.max(seat - waist, 0); - options.seatWaistDiff = seatWaistDiff; + seat += seatEase + waist += waistEase + let seatWaistDiff = Math.max(seat - waist, 0) + options.seatWaistDiff = seatWaistDiff - let nrOfDarts = options.nrOfDarts; + let nrOfDarts = options.nrOfDarts - let frontDartSize = dartCalcFront(options, seatWaistDiff, nrOfDarts); + let frontDartSize = dartCalcFront(options, seatWaistDiff, nrOfDarts) /* console.log({ @@ -54,13 +54,13 @@ function dartCalc(options, seat, seatEase, waist, waistEase) { // If the front darts are too small and we have more than one, remove one. if (frontDartSize <= options.dartMinimumWidth * nrOfDarts && nrOfDarts > 1) { - nrOfDarts--; - frontDartSize = dartCalcFront(options, seatWaistDiff, nrOfDarts); + nrOfDarts-- + frontDartSize = dartCalcFront(options, seatWaistDiff, nrOfDarts) } // See if the dart created by the side seam becomes too small: if (seatWaistDiff / 4 - frontDartSize < options.dartSideMinimum) { - frontDartSize = 0; + frontDartSize = 0 } // if( seatWaistDiff/4 -frontDartSize < options.dartSideMinimum || frontDartSize < options.dartMinimumWidth *nrOfDarts ) { // nrOfDarts = 1; @@ -74,12 +74,12 @@ function dartCalc(options, seat, seatEase, waist, waistEase) { }); */ - let backDartSize = dartCalcBack(options, seatWaistDiff, nrOfDarts); + let backDartSize = dartCalcBack(options, seatWaistDiff, nrOfDarts) // If the back darts are too small and we have more than one, remove one. if (backDartSize < options.dartMinimumWidth * nrOfDarts && nrOfDarts > 1) { - nrOfDarts = 1; - frontDartSize = dartCalcFront(options, seatWaistDiff, nrOfDarts); - backDartSize = dartCalcBack(options, seatWaistDiff, nrOfDarts); + nrOfDarts = 1 + frontDartSize = dartCalcFront(options, seatWaistDiff, nrOfDarts) + backDartSize = dartCalcBack(options, seatWaistDiff, nrOfDarts) } /* @@ -90,9 +90,9 @@ function dartCalc(options, seat, seatEase, waist, waistEase) { }); */ - options.frontDartSize = frontDartSize; - options.backDartSize = backDartSize; - options.nrOfDarts = nrOfDarts; + options.frontDartSize = frontDartSize + options.backDartSize = backDartSize + options.nrOfDarts = nrOfDarts } /** @@ -107,53 +107,47 @@ function dartCalc(options, seat, seatEase, waist, waistEase) { * @return Object with three path attributes; left, dart, right */ function addDartToCurve(part, curvePath, distance, dartSize, dartDepth) { - let dartMiddle = curvePath.shiftAlong(distance); + let dartMiddle = curvePath.shiftAlong(distance) - let curvePaths = curvePath.split(dartMiddle); - let dartLeft = curvePaths[0].reverse().shiftAlong(dartSize / 2); - let dartRight = curvePaths[1].shiftAlong(dartSize / 2); + let curvePaths = curvePath.split(dartMiddle) + let dartLeft = curvePaths[0].reverse().shiftAlong(dartSize / 2) + let dartRight = curvePaths[1].shiftAlong(dartSize / 2) - let distanceFactor = 0.15; + let distanceFactor = 0.15 let leftCPdistance = Math.min( curvePaths[0].length() * distanceFactor, curvePaths[0].ops[1].to.dist(curvePaths[0].ops[1].cp2) - ); + ) let rightCPdistance = Math.min( curvePaths[1].length() * distanceFactor, curvePaths[1].ops[0].to.dist(curvePaths[1].ops[1].cp1) - ); + ) - let dartBottom = dartMiddle.shift(dartLeft.angle(dartRight) - 90, dartDepth); + let dartBottom = dartMiddle.shift(dartLeft.angle(dartRight) - 90, dartDepth) - let leftDartCP = dartLeft.shift( - dartLeft.angle(dartBottom) - 90, - leftCPdistance - ); - let rightDartCP = dartRight.shift( - dartRight.angle(dartBottom) + 90, - rightCPdistance - ); + let leftDartCP = dartLeft.shift(dartLeft.angle(dartBottom) - 90, leftCPdistance) + let rightDartCP = dartRight.shift(dartRight.angle(dartBottom) + 90, rightCPdistance) let curveLeftOfDart = new part.Path() .move(curvePaths[0].ops[0].to) .curve(curvePaths[0].ops[1].cp1, leftDartCP, dartLeft) - .setRender(false); + .setRender(false) let curveRightOfDart = new part.Path() .move(dartRight) .curve(rightDartCP, curvePaths[1].ops[1].cp2, curvePaths[1].ops[1].to) - .setRender(false); + .setRender(false) let dart = new part.Path() .move(dartLeft) .line(dartBottom) .line(dartRight) - .setRender(false); + .setRender(false) let curveWithDart = { left: curveLeftOfDart, dart: dart, right: curveRightOfDart - }; + } /* part.points.dartMiddle = dartMiddle ; @@ -162,7 +156,7 @@ function addDartToCurve(part, curvePath, distance, dartSize, dartDepth) { part.points.dartBottom = dartBottom ; */ - return curveWithDart; + return curveWithDart } -export { addDartToCurve, dartCalc }; +export { addDartToCurve, dartCalc } diff --git a/packages/waralee/example/src/App.test.js b/packages/waralee/example/src/App.test.js index 23c181f0276..4bf19359ea4 100644 --- a/packages/waralee/example/src/App.test.js +++ b/packages/waralee/example/src/App.test.js @@ -1,9 +1,9 @@ -import React from "react"; -import ReactDOM from "react-dom"; -import App from "./App"; +import React from 'react' +import ReactDOM from 'react-dom' +import App from './App' -it("renders without crashing", () => { - const div = document.createElement("div"); - ReactDOM.render(, div); - ReactDOM.unmountComponentAtNode(div); -}); +it('renders without crashing', () => { + const div = document.createElement('div') + ReactDOM.render(, div) + ReactDOM.unmountComponentAtNode(div) +}) diff --git a/packages/waralee/src/index.js b/packages/waralee/src/index.js index 15af34364a7..c406026e7e1 100644 --- a/packages/waralee/src/index.js +++ b/packages/waralee/src/index.js @@ -1,24 +1,24 @@ -import freesewing from "@freesewing/core"; -import plugins from "@freesewing/plugin-bundle"; -import config from "../config"; -import draftPantsproto from "./pantsproto"; -import draftPants from "./pants"; -import draftCutout from "./cutout"; -import draftPocket from "./pocket"; -import draftBackPocket from "./backpocket"; -import draftFacings from "./facings"; -import draftMini from "./mini"; +import freesewing from '@freesewing/core' +import plugins from '@freesewing/plugin-bundle' +import config from '../config' +import draftPantsproto from './pantsproto' +import draftPants from './pants' +import draftCutout from './cutout' +import draftPocket from './pocket' +import draftBackPocket from './backpocket' +import draftFacings from './facings' +import draftMini from './mini' // Create new design -const Pattern = new freesewing.Design(config, plugins); +const Pattern = new freesewing.Design(config, plugins) // Attach the draft methods to the prototype -Pattern.prototype.draftPantsproto = draftPantsproto; -Pattern.prototype.draftPants = draftPants; -Pattern.prototype.draftCutout = draftCutout; -Pattern.prototype.draftPocket = draftPocket; -Pattern.prototype.draftBackPocket = draftBackPocket; -Pattern.prototype.draftFacings = draftFacings; -Pattern.prototype.draftMini = draftMini; +Pattern.prototype.draftPantsproto = draftPantsproto +Pattern.prototype.draftPants = draftPants +Pattern.prototype.draftCutout = draftCutout +Pattern.prototype.draftPocket = draftPocket +Pattern.prototype.draftBackPocket = draftBackPocket +Pattern.prototype.draftFacings = draftFacings +Pattern.prototype.draftMini = draftMini -export default Pattern; +export default Pattern diff --git a/packages/waralee/src/mini.js b/packages/waralee/src/mini.js index 49f8e48f3a6..4f7258e136d 100644 --- a/packages/waralee/src/mini.js +++ b/packages/waralee/src/mini.js @@ -1,158 +1,149 @@ -// This is an idea to keep the printing to a minimum. The whole patterns is rather large. -// To keep you from printing it completely, you could print this part in paperless mode -// and only have a single sheet with all the dimensions on it. - -export default function(part) { - let { - options, - /*measurements, - Point, - Path,*/ - points, - paths, - Snippet, - snippets, - complete, - sa, - paperless, - macro - } = part.shorthand(); - - let mini = options.minimizer; - - for( var p in points ) { - points[p].x = points[p].x /mini; - points[p].y = points[p].y /mini; - } - - - paths.waistFoldBack = paths.waistBack - .offset(-1 * options.waistBand/mini) - .attr("class", "fabric stroke-sm"); - paths.waistFoldFront = paths.waistFront - .offset(-1 * options.waistBand/mini) - .attr("class", "fabric stroke-sm"); - - paths.frontFold = paths.front - .offset(-1 * options.hem/mini) - .attr("class", "fabric stroke-sm"); - paths.legFold = paths.leg - .offset(-1 * options.hem/mini) - .attr("class", "fabric stroke-sm"); - paths.backFold = paths.back - .offset(-1 * options.hem/mini) - .attr("class", "fabric stroke-sm"); - - - - // Complete? - if (complete) { - points.logo = points.fWaistFront.shift(270, 400); - snippets.logo = new Snippet("logo", points.logo); - points.text = points.logo - .shift(-90, 50) - .attr("data-text", "hello") - .attr("data-text-class", "center"); - - if (sa) { - paths.sa = paths.seam.offset(sa).attr("class", "fabric sa"); - } - } - - // Paperless? - if (paperless) { - macro("hd", { - from: points.fWaistSide, - to: points.mWaist, - y: points.fWaistSide.y, - text: part.units(points.fWaistSide.dist(points.mWaist)*mini) - }); - /* - macro("hd", { - from: points.fWaistFrontOverlap, - to: points.mWaist, - y: points.fWaistSide.y - sa - 15 - }); - macro("hd", { - from: points.mWaist, - to: points.bWaistSide, - y: points.bWaistSide.y - }); - macro("hd", { - from: points.mWaist, - to: points.bWaistBack, - y: points.bWaistSide.y - sa - 15 - }); - macro("hd", { - from: points.mWaist, - to: points.bWaistBackOverlap, - y: points.bWaistSide.y - sa - 30 - }); - macro("vd", { - from: points.mWaist, - to: points.mHip, - x: points.mWaist.x - }); - macro("vd", { - from: points.bWaistSide, - to: points.bWaistBack, - x: points.bWaistSide.x + 15 - }); - macro("vd", { - from: points.bWaistBackOverlap, - to: points.bLegBackOverlap, - x: points.bLegBackOverlap.x - 30 - }); - - if (options.frontPocket) { - macro("vd", { - from: points.fWaistSide, - to: points.frontPocketTop, - x: points.frontPocketTop.x - }); - macro("vd", { - from: points.fWaistSide, - to: points.frontPocketBottom, - x: points.frontPocketBottom.x - }); - macro("hd", { - from: points.frontPocketTop, - to: points.fWaistSide, - y: points.frontPocketTop.y - }); - macro("hd", { - from: points.frontPocketBottom, - to: points.fWaistSide, - y: points.frontPocketBottom.y - }); - } - if (options.backPocket) { - macro("vd", { - from: points.bWaistSide, - to: points.backPocketLeft, - x: points.backPocketLeft.x - }); - macro("vd", { - from: points.bWaistSide, - to: points.backPocketRight, - x: points.backPocketRight.x - }); - macro("hd", { - from: points.bWaistSide, - to: points.backPocketLeft, - y: points.backPocketLeft.y - }); - macro("hd", { - from: points.bWaistSide, - to: points.backPocketRight, - y: points.backPocketRight.y - }); - } - */ - } - - // keep this secret for now: - part.render = false; - - return part; -} +// This is an idea to keep the printing to a minimum. The whole patterns is rather large. +// To keep you from printing it completely, you could print this part in paperless mode +// and only have a single sheet with all the dimensions on it. + +export default function(part) { + let { + options, + /*measurements, + Point, + Path,*/ + points, + paths, + Snippet, + snippets, + complete, + sa, + paperless, + macro + } = part.shorthand() + + let mini = options.minimizer + + for (var p in points) { + points[p].x = points[p].x / mini + points[p].y = points[p].y / mini + } + + paths.waistFoldBack = paths.waistBack + .offset((-1 * options.waistBand) / mini) + .attr('class', 'fabric stroke-sm') + paths.waistFoldFront = paths.waistFront + .offset((-1 * options.waistBand) / mini) + .attr('class', 'fabric stroke-sm') + + paths.frontFold = paths.front.offset((-1 * options.hem) / mini).attr('class', 'fabric stroke-sm') + paths.legFold = paths.leg.offset((-1 * options.hem) / mini).attr('class', 'fabric stroke-sm') + paths.backFold = paths.back.offset((-1 * options.hem) / mini).attr('class', 'fabric stroke-sm') + + // Complete? + if (complete) { + points.logo = points.fWaistFront.shift(270, 400) + snippets.logo = new Snippet('logo', points.logo) + points.text = points.logo + .shift(-90, 50) + .attr('data-text', 'hello') + .attr('data-text-class', 'center') + + if (sa) { + paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa') + } + } + + // Paperless? + if (paperless) { + macro('hd', { + from: points.fWaistSide, + to: points.mWaist, + y: points.fWaistSide.y, + text: part.units(points.fWaistSide.dist(points.mWaist) * mini) + }) + /* + macro("hd", { + from: points.fWaistFrontOverlap, + to: points.mWaist, + y: points.fWaistSide.y - sa - 15 + }); + macro("hd", { + from: points.mWaist, + to: points.bWaistSide, + y: points.bWaistSide.y + }); + macro("hd", { + from: points.mWaist, + to: points.bWaistBack, + y: points.bWaistSide.y - sa - 15 + }); + macro("hd", { + from: points.mWaist, + to: points.bWaistBackOverlap, + y: points.bWaistSide.y - sa - 30 + }); + macro("vd", { + from: points.mWaist, + to: points.mHip, + x: points.mWaist.x + }); + macro("vd", { + from: points.bWaistSide, + to: points.bWaistBack, + x: points.bWaistSide.x + 15 + }); + macro("vd", { + from: points.bWaistBackOverlap, + to: points.bLegBackOverlap, + x: points.bLegBackOverlap.x - 30 + }); + + if (options.frontPocket) { + macro("vd", { + from: points.fWaistSide, + to: points.frontPocketTop, + x: points.frontPocketTop.x + }); + macro("vd", { + from: points.fWaistSide, + to: points.frontPocketBottom, + x: points.frontPocketBottom.x + }); + macro("hd", { + from: points.frontPocketTop, + to: points.fWaistSide, + y: points.frontPocketTop.y + }); + macro("hd", { + from: points.frontPocketBottom, + to: points.fWaistSide, + y: points.frontPocketBottom.y + }); + } + if (options.backPocket) { + macro("vd", { + from: points.bWaistSide, + to: points.backPocketLeft, + x: points.backPocketLeft.x + }); + macro("vd", { + from: points.bWaistSide, + to: points.backPocketRight, + x: points.backPocketRight.x + }); + macro("hd", { + from: points.bWaistSide, + to: points.backPocketLeft, + y: points.backPocketLeft.y + }); + macro("hd", { + from: points.bWaistSide, + to: points.backPocketRight, + y: points.backPocketRight.y + }); + } + */ + } + + // keep this secret for now: + part.render = false + + return part +} diff --git a/packages/waralee/src/util.js b/packages/waralee/src/util.js index 54418e0cb76..d8ad428b8af 100644 --- a/packages/waralee/src/util.js +++ b/packages/waralee/src/util.js @@ -1,35 +1,37 @@ -function CreateCrotchPoints(part) { - let { options, measurements, points } = part.shorthand(); - - let seatDepth = measurements.seatDepth + (measurements.seatDepth *options.waistRaise ); - let circumference = measurements.seatCircumference; - let circumference4 = circumference / 4; - - points.mHip = points.mWaist.shift(270, seatDepth); - - points.fWaistSide = points.mWaist - .shift(180, options.crotchFront * circumference4) - .shift( 90, options.waistBand ); - points.fWaistCrotchCP = points.fWaistSide.shift( - 270, - seatDepth * options.crotchFactorFrontVer +options.waistBand - ); - points.fHipCrotchCP = points.mHip - .shift(180,options.crotchFront * circumference4 * options.crotchFactorFrontHor); - - points.fHipSide = points.mHip - .shift(180, options.crotchFront * circumference4 ); - - points.bWaistSide = points.mWaist - .shift( 0, options.crotchBack * circumference4) - .shift(90, options.waistBand ) - .shift(90, options.backRaise * seatDepth); - points.bWaistCrotchCP = points.bWaistSide - .shift(270, seatDepth * options.crotchFactorBackVer ); - points.bHipCrotchCP = points.mHip - .shift(0,options.crotchBack * circumference4 * options.crotchFactorBackHor); - - points.bHipSide = points.mHip.shift(0, options.crotchBack * circumference4 ); -} - -export { CreateCrotchPoints }; +function CreateCrotchPoints(part) { + let { options, measurements, points } = part.shorthand() + + let seatDepth = measurements.seatDepth + measurements.seatDepth * options.waistRaise + let circumference = measurements.seatCircumference + let circumference4 = circumference / 4 + + points.mHip = points.mWaist.shift(270, seatDepth) + + points.fWaistSide = points.mWaist + .shift(180, options.crotchFront * circumference4) + .shift(90, options.waistBand) + points.fWaistCrotchCP = points.fWaistSide.shift( + 270, + seatDepth * options.crotchFactorFrontVer + options.waistBand + ) + points.fHipCrotchCP = points.mHip.shift( + 180, + options.crotchFront * circumference4 * options.crotchFactorFrontHor + ) + + points.fHipSide = points.mHip.shift(180, options.crotchFront * circumference4) + + points.bWaistSide = points.mWaist + .shift(0, options.crotchBack * circumference4) + .shift(90, options.waistBand) + .shift(90, options.backRaise * seatDepth) + points.bWaistCrotchCP = points.bWaistSide.shift(270, seatDepth * options.crotchFactorBackVer) + points.bHipCrotchCP = points.mHip.shift( + 0, + options.crotchBack * circumference4 * options.crotchFactorBackHor + ) + + points.bHipSide = points.mHip.shift(0, options.crotchBack * circumference4) +} + +export { CreateCrotchPoints }