From 3a12615f8d60849c201b7df638a6e47725503186 Mon Sep 17 00:00:00 2001 From: woutervdub Date: Tue, 17 Oct 2023 21:08:20 +0000 Subject: [PATCH] fixes --- designs/waralee/src/backpocket.mjs | 11 ++- designs/waralee/src/cutout.mjs | 2 - designs/waralee/src/facings.mjs | 10 ++- designs/waralee/src/ghost.mjs | 107 ----------------------------- designs/waralee/src/mini.mjs | 27 +++----- designs/waralee/src/pants.mjs | 14 ++-- designs/waralee/src/pantsproto.mjs | 45 +++++------- designs/waralee/src/pocket.mjs | 24 +++---- designs/waralee/src/waistband.mjs | 11 +-- 9 files changed, 56 insertions(+), 195 deletions(-) delete mode 100644 designs/waralee/src/ghost.mjs diff --git a/designs/waralee/src/backpocket.mjs b/designs/waralee/src/backpocket.mjs index d4f81d7ced4..5070c8b1973 100644 --- a/designs/waralee/src/backpocket.mjs +++ b/designs/waralee/src/backpocket.mjs @@ -25,7 +25,7 @@ export const backPocket = { const pocketDepth = options.backPocketDepth * measurements.crotchDepth if (!expand) { - // Expand is on, do not draw the part but flag this to the user + // Expand is off, do not draw the part but flag this to the user store.flag.note({ msg: `waralee:cutBackPocket`, replace: { @@ -69,7 +69,7 @@ export const backPocket = { .line(points.bottomRight) .join(paths.seamSA) .close() - .attr('class', 'fabric') + .addClass('fabric') macro('cutonfold', { from: points.bottomLeft, @@ -87,12 +87,9 @@ export const backPocket = { points.logo = points.title.shift(270, 75) snippets.logo = new Snippet('logo', points.logo) - points.text = points.logo - .shift(-90, 25) - .attr('data-text', 'Waralee') - .attr('data-text-class', 'center') + points.text = points.logo.shift(-90, 25).addText('Waralee', 'center') - if (sa) paths.sa = paths.seamSA.close().offset(sa).attr('class', 'fabric sa') + if (sa) paths.sa = paths.seamSA.close().offset(sa).addClass('fabric sa') macro('hd', { id: 1, diff --git a/designs/waralee/src/cutout.mjs b/designs/waralee/src/cutout.mjs index d7efc65dac2..28c88d0348c 100644 --- a/designs/waralee/src/cutout.mjs +++ b/designs/waralee/src/cutout.mjs @@ -21,8 +21,6 @@ export const cutout = { .close() .attr('class', 'fabric') - // paths.cutout.hide() - points.title = points.mWaist.shift(270, 75) macro('title', { nr: 2, diff --git a/designs/waralee/src/facings.mjs b/designs/waralee/src/facings.mjs index 935429038a0..f7ce9e62f32 100644 --- a/designs/waralee/src/facings.mjs +++ b/designs/waralee/src/facings.mjs @@ -19,10 +19,8 @@ function waraleeFacing( part, } ) { - const frontPocketSize = - options.frontPocketSize * measurements.crotchDepth /*- measurements.waistToHips*/ - const backPocketSize = - options.backPocketSize * measurements.crotchDepth /*- measurements.waistToHips*/ + const frontPocketSize = options.frontPocketSize * measurements.crotchDepth + const backPocketSize = options.backPocketSize * measurements.crotchDepth if (type == 'front') { if (!options.frontPocket || 'welt' != options.frontPocketStyle) { @@ -38,7 +36,7 @@ function waraleeFacing( const height = (type == 'front' ? frontPocketSize : backPocketSize) / 2 if (!expand) { - // Expand is on, do not draw the part but flag this to the user + // Expand is off, do not draw the part but flag this to the user store.flag.note({ msg: `waralee:cutFacing` + type, replace: { @@ -71,7 +69,7 @@ function waraleeFacing( .line(points.tr) .line(points.tl) .close() - .attr('class', 'fabric') + .addClass('fabric') store.cutlist.addCut({ cut: type == 'front' ? 4 : 2, from: 'fabric' }) diff --git a/designs/waralee/src/ghost.mjs b/designs/waralee/src/ghost.mjs deleted file mode 100644 index 17f50036788..00000000000 --- a/designs/waralee/src/ghost.mjs +++ /dev/null @@ -1,107 +0,0 @@ -import { pantsProto } from './pantsproto.mjs' - -export const ghost = { - name: 'waralee.ghost', - after: pantsProto, - draft: ({ - options, - measurements, - Point, - Path, - points, - paths, - Snippet, - snippets, - sa, - macro, - part, - }) => { - const c = 0.55191502449351 - const eyeSize = 0.02 - const size = 500 - - points.middle = new Point(0, 0) - points.eyeLine = points.middle.shift(270, size / 10) - points.eyeLeft = points.eyeLine.shift(180, size / 20) - points.eyeRight = points.eyeLine.shift(0, size / 20) - points.top = new Point(0, -1 * size) - points.left = new Point(-1 * size, 0) - points.right = new Point(size, 0) - points.bottom = new Point(0, size) - points.topCp1 = points.top.shift(180, size * c) - points.topCp2 = points.top.shift(0, size * c) - points.leftCp1 = points.left.shift(270, size * c) - points.leftCp2 = points.left.shift(90, size * c) - points.bottomCp1 = points.bottom.shift(0, size * c) - points.bottomCp2 = points.bottom.shift(180, size * c) - points.rightCp1 = points.right.shift(90, size * c) - points.rightCp2 = points.right.shift(270, size * c) - - points.eyeLefttop = points.eyeLeft.shift(90, size * eyeSize) - points.eyeLeftleft = points.eyeLeft.shift(180, size * eyeSize) - points.eyeLeftbottom = points.eyeLeft.shift(270, size * eyeSize) - points.eyeLeftright = points.eyeLeft.shift(0, size * eyeSize) - points.eyeLefttopCp1 = points.eyeLefttop.shift(180, size * c * eyeSize) - points.eyeLefttopCp2 = points.eyeLefttop.shift(0, size * c * eyeSize) - points.eyeLeftleftCp1 = points.eyeLeftleft.shift(270, size * c * eyeSize) - points.eyeLeftleftCp2 = points.eyeLeftleft.shift(90, size * c * eyeSize) - points.eyeLeftbottomCp1 = points.eyeLeftbottom.shift(0, size * c * eyeSize) - points.eyeLeftbottomCp2 = points.eyeLeftbottom.shift(180, size * c * eyeSize) - points.eyeLeftrightCp1 = points.eyeLeftright.shift(90, size * c * eyeSize) - points.eyeLeftrightCp2 = points.eyeLeftright.shift(270, size * c * eyeSize) - - points.eyeRighttop = points.eyeRight.shift(90, size * eyeSize) - points.eyeRightleft = points.eyeRight.shift(180, size * eyeSize) - points.eyeRightbottom = points.eyeRight.shift(270, size * eyeSize) - points.eyeRightright = points.eyeRight.shift(0, size * eyeSize) - points.eyeRighttopCp1 = points.eyeRighttop.shift(180, size * c * eyeSize) - points.eyeRighttopCp2 = points.eyeRighttop.shift(0, size * c * eyeSize) - points.eyeRightleftCp1 = points.eyeRightleft.shift(270, size * c * eyeSize) - points.eyeRightleftCp2 = points.eyeRightleft.shift(90, size * c * eyeSize) - points.eyeRightbottomCp1 = points.eyeRightbottom.shift(0, size * c * eyeSize) - points.eyeRightbottomCp2 = points.eyeRightbottom.shift(180, size * c * eyeSize) - points.eyeRightrightCp1 = points.eyeRightright.shift(90, size * c * eyeSize) - points.eyeRightrightCp2 = points.eyeRightright.shift(270, size * c * eyeSize) - - console.log({ points: JSON.parse(JSON.stringify(points)) }) - - paths.seam = new Path() - .move(points.top) - .curve(points.topCp1, points.leftCp2, points.left) - .curve(points.leftCp1, points.bottomCp2, points.bottom) - .curve(points.bottomCp1, points.rightCp2, points.right) - .curve(points.rightCp1, points.topCp2, points.top) - .close() - .attr('class', 'fabric') - - paths.eyeLeft = new Path() - .move(points.eyeLefttop) - .curve(points.eyeLefttopCp1, points.eyeLeftleftCp2, points.eyeLeftleft) - .curve(points.eyeLeftleftCp1, points.eyeLeftbottomCp2, points.eyeLeftbottom) - .curve(points.eyeLeftbottomCp1, points.eyeLeftrightCp2, points.eyeLeftright) - .curve(points.eyeLeftrightCp1, points.eyeLefttopCp2, points.eyeLefttop) - .close() - .attr('class', 'fabric') - - paths.eyeRight = new Path() - .move(points.eyeRighttop) - .curve(points.eyeRighttopCp1, points.eyeRightleftCp2, points.eyeRightleft) - .curve(points.eyeRightleftCp1, points.eyeRightbottomCp2, points.eyeRightbottom) - .curve(points.eyeRightbottomCp1, points.eyeRightrightCp2, points.eyeRightright) - .curve(points.eyeRightrightCp1, points.eyeRighttopCp2, points.eyeRighttop) - .close() - .attr('class', 'fabric') - - points.title = points.middle.shiftFractionTowards(points.bottom, 0.65) - macro('title', { - nr: 1, - at: points.title, - title: 'Gozer', - align: 'center', - }) - points.logo = points.middle.shiftFractionTowards(points.bottom, 0.5) - snippets.logo = new Snippet('logo', points.logo) - - return part - }, -} diff --git a/designs/waralee/src/mini.mjs b/designs/waralee/src/mini.mjs index c0478ead897..ee9a2ca3dd9 100644 --- a/designs/waralee/src/mini.mjs +++ b/designs/waralee/src/mini.mjs @@ -22,27 +22,23 @@ export const mini = { paths.waistFoldBack = paths.waistBack .offset((-1 * store.get('waistBand')) / mini) - .attr('class', 'fabric stroke-sm') + .addClass('fabric stroke-sm') paths.waistFoldFront = paths.waistFront .offset((-1 * store.get('waistBand')) / mini) - .attr('class', 'fabric stroke-sm') + .addClass('fabric stroke-sm') paths.frontFold = paths.front .offset((-1 * store.get('hem')) / mini) - .attr('class', 'fabric stroke-sm') - paths.legFold = paths.leg - .offset((-1 * store.get('hem')) / mini) - .attr('class', 'fabric stroke-sm') - paths.backFold = paths.back - .offset((-1 * store.get('hem')) / mini) - .attr('class', 'fabric stroke-sm') + .addClass('fabric stroke-sm') + paths.legFold = paths.leg.offset((-1 * store.get('hem')) / mini).addClass('fabric stroke-sm') + paths.backFold = paths.back.offset((-1 * store.get('hem')) / mini).addClass('fabric stroke-sm') paths.cutOut = new Path() .move(separateWaistband ? points.bWaistSideSeam : points.bWaistSide) .line(points.mWaist2) .line(points.mWaist1) .line(separateWaistband ? points.fWaistSideSeam : points.fWaistSide) - .attr('class', 'help') + .addClass('help') paths.seam.unhide() @@ -56,21 +52,18 @@ export const mini = { } if (sa) { - paths.sa = paths.seam.offset(sa / mini).attr('class', 'fabric sa') + paths.sa = paths.seam.offset(sa / mini).addClass('fabric sa') } points.pText1 = points.mHip .shiftFractionTowards(points.mLeg, 0.5) - .attr('data-text', 'waralee:thisIsNotAPart') - .attr('data-text-class', 'center') + .addText('waralee:thisIsNotAPart', 'center') points.pText2 = points.mHip .shiftFractionTowards(points.mLeg, 0.6) - .attr('data-text', 'waralee:doNotCutFromFabric') - .attr('data-text-class', 'center') + .addText('waralee:doNotCutFromFabric', 'center') points.pText3 = points.mHip .shiftFractionTowards(points.mLeg, 0.7) - .attr('data-text', 'waralee:useMeasurementsToCutFromFabric') - .attr('data-text-class', 'center') + .addText('waralee:useMeasurementsToCutFromFabric', 'center') const fWaistSide = separateWaistband ? points.fWaistSideSeam : points.fWaistSide const fWaistFrontOverlap = separateWaistband diff --git a/designs/waralee/src/pants.mjs b/designs/waralee/src/pants.mjs index ff944ce81ec..83c9a116216 100644 --- a/designs/waralee/src/pants.mjs +++ b/designs/waralee/src/pants.mjs @@ -19,7 +19,7 @@ export const pants = { }, }) } else { - // Expand is on, do not draw the part but flag this to the user + // Expand is off, do not draw the part but flag this to the user store.flag.note({ msg: `waralee:hidePants`, }) @@ -34,16 +34,16 @@ export const pants = { .move(points.bWaistSideHem) .line(separateWaistband ? points.bWaistBackSeam : points.bWaistBackHem) .line(separateWaistband ? points.bWaistBackSeam : points.bWaistBackOverlapHem) - .attr('class', 'fabric stroke-sm') + .addClass('fabric stroke-sm') paths.waistFoldFront = new Path() .move(points.fWaistSideHem) .line(points.fWaistFrontOverlapHem) - .attr('class', 'fabric stroke-sm') + .addClass('fabric stroke-sm') } - paths.frontFold = paths.front.offset(-1 * store.get('hem')).attr('class', 'fabric stroke-sm') - paths.legFold = paths.leg.offset(-1 * store.get('hem')).attr('class', 'fabric stroke-sm') - paths.backFold = paths.back.offset(-1 * store.get('hem')).attr('class', 'fabric stroke-sm') + paths.frontFold = paths.front.offset(-1 * store.get('hem')).addClass('fabric stroke-sm') + paths.legFold = paths.leg.offset(-1 * store.get('hem')).addClass('fabric stroke-sm') + paths.backFold = paths.back.offset(-1 * store.get('hem')).addClass('fabric stroke-sm') paths.seam.unhide() @@ -61,7 +61,7 @@ export const pants = { macro('scalebox', { at: points.mHip.shift(-90, 70) }) - if (sa) paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa') + if (sa) paths.sa = paths.seam.offset(sa).addClass('fabric sa') if (options.frontPocket && 'welt' == options.frontPocketStyle) { paths.frontPocket.unhide() diff --git a/designs/waralee/src/pantsproto.mjs b/designs/waralee/src/pantsproto.mjs index 912eac58fe2..f8e6e56b219 100644 --- a/designs/waralee/src/pantsproto.mjs +++ b/designs/waralee/src/pantsproto.mjs @@ -74,10 +74,7 @@ export const pantsProto = { optionalMeasurements: ['waist', 'waistBack'], options, draft: ({ options, measurements, Point, Path, points, paths, store, part, utils }) => { - const seatDepth = - measurements.crotchDepth /* - measurements.waistToHips */ * - (1 + options.waistRaise) * - options.crotchEase + const seatDepth = measurements.crotchDepth * (1 + options.waistRaise) * options.crotchEase const waist = typeof measurements.waist == 'undefined' || false == options.fitWaist ? measurements.seat @@ -94,10 +91,13 @@ export const pantsProto = { const hem = measurements.inseam * options.hemWidth const waistBand = measurements.inseam * options.waistbandWidth + const frontPocketSize = options.frontPocketSize * measurements.crotchDepth const pocketDepth = - (measurements.crotchDepth - measurements.waistToHips) * options.frontPocketDepthFactor - const frontPocketSize = - options.frontPocketSize * measurements.crotchDepth /*- measurements.waistToHips*/ + (measurements.crotchDepth - measurements.waistToHips) * options.frontPocketDepthFactor > + frontPocketSize * 1.75 + ? (measurements.crotchDepth - measurements.waistToHips) * options.frontPocketDepthFactor + : frontPocketSize * 1.75 + const frontPocketHeight = frontPocketSize * options.frontPocketWidthHeightRatio store.set('waistBand', waistBand) store.set('hem', hem) @@ -310,25 +310,23 @@ export const pantsProto = { .join(paths.waistBack) .join(paths.cutout) .close() - .attr('class', 'fabric') + .addClass('fabric') .hide() if (options.frontPocket) { points.frontPocketTop = points.fWaistSideSeam .shift( 270, - options.frontPocketVerticalOffset * - measurements.crotchDepth /*- measurements.waistToHips*/ + + options.frontPocketVerticalOffset * measurements.crotchDepth + waistBand * (separateWaistband ? 1 : 2) ) .shift(180, options.frontPocketHorizontalOffset * measurements.seat) - const frontPocketHeight = frontPocketSize * options.frontPocketWidthHeightRatio - points.frontPocketTop2 = points.frontPocketTop.shift(340, frontPocketHeight) points.frontPocketBottom = points.frontPocketTop.shift( 250, - options.frontPocketSize * measurements.crotchDepth /*- measurements.waistToHips*/ + frontPocketSize + // options.frontPocketSize * measurements.crotchDepth ) points.frontPocketBottom2 = points.frontPocketBottom.shift(340, frontPocketHeight) @@ -338,7 +336,7 @@ export const pantsProto = { .line(points.frontPocketBottom2) .line(points.frontPocketTop2) .close() - .attr('class', 'fabric') + .addClass('fabric') .hide() points.frontPocketSeam = utils.beamsIntersect( @@ -389,7 +387,7 @@ export const pantsProto = { .line(points.frontPocketTopRight) .join(paths.frontPocketSeamSA) .close() - .attr('class', 'dotted mark') + .addClass('dotted mark') .hide() } @@ -398,20 +396,18 @@ export const pantsProto = { .shiftTowards(points.bWaistSide, options.backPocketHorizontalOffset * measurements.seat) .shift( 270, - options.backPocketVerticalOffset * - measurements.crotchDepth /*- measurements.waistToHips*/ + + options.backPocketVerticalOffset * measurements.crotchDepth + waistBand * (separateWaistband ? 1 : 2) ) points.backPocketLeft = points.bWaistBack .shiftTowards( points.bWaistSide, options.backPocketHorizontalOffset * measurements.seat + - options.backPocketSize * measurements.crotchDepth /*- measurements.waistToHips*/ + options.backPocketSize * measurements.crotchDepth ) .shift( 270, - options.backPocketVerticalOffset * - measurements.crotchDepth /*- measurements.waistToHips*/ + + options.backPocketVerticalOffset * measurements.crotchDepth + waistBand * (separateWaistband ? 1 : 2) ) points.backPocketRight2 = points.backPocketRight.shift( @@ -429,17 +425,10 @@ export const pantsProto = { .line(points.backPocketRight2) .line(points.backPocketRight) .close() - .attr('class', 'fabric') + .addClass('fabric') .hide() } - path.temp = new Path() - .move(points.bWaistSide) - .line(points.fWaistSide) - .line(points.fLegFront) - .line(points.bLegBack) - .close() - return part.hide() }, } diff --git a/designs/waralee/src/pocket.mjs b/designs/waralee/src/pocket.mjs index f34dd0336c2..8deecff04a6 100644 --- a/designs/waralee/src/pocket.mjs +++ b/designs/waralee/src/pocket.mjs @@ -1,3 +1,4 @@ +import { cbqc } from '@freesewing/core' import { pantsProto } from './pantsproto.mjs' export const pocket = { @@ -8,8 +9,6 @@ export const pocket = { return part.hide() } - const c = 0.55191502449351 - const frontPocketSize = store.get('frontPocketSize') if ('welt' != options.frontPocketStyle) { @@ -23,17 +22,17 @@ export const pocket = { points.bottomLeftCornerOver = points.bottomLeft.shift(0, frontPocketSize / 4) points.bottomLeftCornerOverCp2 = points.bottomLeftCornerOver.shift( 180, - (frontPocketSize / 4) * c + (frontPocketSize / 4) * cbqc ) points.bottomRightCornerUp = points.bottomRight.shift(90, frontPocketSize / 4) points.bottomRightCornerUpCp2 = points.bottomRightCornerUp.shift( 270, - (frontPocketSize / 4) * c + (frontPocketSize / 4) * cbqc ) points.bottomRightCornerOver = points.bottomRight.shift(180, frontPocketSize / 4) points.bottomRightCornerOverCp1 = points.bottomRightCornerOver.shift( 0, - (frontPocketSize / 4) * c + (frontPocketSize / 4) * cbqc ) paths.seam = new Path() @@ -53,13 +52,15 @@ export const pocket = { .line(points.topRight) .line(points.topLeft) .close() - .attr('class', 'fabric') + .addClass('fabric') - paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa') + paths.sa = paths.seam.offset(sa).addClass('fabric sa') } else { - paths.frontPocketSeam.setClass('fabric') + paths.frontPocketSeam.unhide().setClass('fabric') - paths.sa = paths.frontPocketSeamSA.offset(sa).close().attr('class', 'fabric sa') + if (sa) { + paths.sa = paths.frontPocketSeamSA.offset(sa).close().addClass('fabric sa') + } paths.frontPocket.unhide().setClass('mark') @@ -80,10 +81,7 @@ export const pocket = { points.logo = points.title.shift(270, 75) snippets.logo = new Snippet('logo', points.logo) - points.text = points.logo - .shift(-90, 25) - .attr('data-text', 'Waralee') - .attr('data-text-class', 'center') + points.text = points.logo.shift(-90, 25).addText('Waralee', 'center') if ('welt' == options.frontPocketStyle) { macro('hd', { diff --git a/designs/waralee/src/waistband.mjs b/designs/waralee/src/waistband.mjs index 0e3c5d294d9..5b0dc0237fd 100644 --- a/designs/waralee/src/waistband.mjs +++ b/designs/waralee/src/waistband.mjs @@ -59,7 +59,7 @@ function waraleeWaistband( } if (!expand) { - // Expand is on, do not draw the part but flag this to the user + // Expand is off, do not draw the part but flag this to the user store.flag.note({ msg: `waralee:cut` + type, replace: { @@ -97,13 +97,9 @@ function waraleeWaistband( .line(points.br) .close() - paths.fold = new Path() - .move(points.tm) - .line(points.bm) - .attr('class', 'fabric dotted') - .setText('fold') + paths.fold = new Path().move(points.tm).line(points.bm).addClass('fabric dotted').setText('fold') - if (sa) paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa') + if (sa) paths.sa = paths.seam.offset(sa).addClass('fabric sa') store.cutlist.addCut({ cut: 1, from: 'fabric' }) @@ -112,7 +108,6 @@ function waraleeWaistband( nr: partNr, at: points.title, title: type, - prefix: 'front', scale: 0.4, align: 'center', })