diff --git a/config/dependencies.yaml b/config/dependencies.yaml index 467b71460a3..c4968fd7fbb 100644 --- a/config/dependencies.yaml +++ b/config/dependencies.yaml @@ -117,6 +117,9 @@ jaeger: peer: "@freesewing/bent": "^{{version}}" "@freesewing/plugin-buttons": "^{{version}}" +models: + peer: + "@freesewing/utils": "^{{version}}" mui-theme: peer: "@material-ui/core": "^4.0.1" diff --git a/packages/models/index.js b/packages/models/index.js deleted file mode 100644 index a8056cc1b83..00000000000 --- a/packages/models/index.js +++ /dev/null @@ -1,74 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.manSize34 = { - bicepsCircumference: 335, - centerBackNeckToWaist: 489, - chestCircumference: 849, - hipsCircumference: 722, - naturalWaistToHip: 100, - neckCircumference: 366, - shoulderSlope: 43, - shoulderToShoulder: 419, - shoulderToWrist: 670, - wristCircumference: 175 -}; -exports.manSize36 = { - bicepsCircumference: 290, - centerBackNeckToWaist: 492, - chestCircumference: 907, - hipsCircumference: 780, - naturalWaistToHip: 105, - neckCircumference: 378, - shoulderSlope: 46, - shoulderToShoulder: 431, - shoulderToWrist: 675, - wristCircumference: 180 -}; -exports.manSize38 = { - bicepsCircumference: 305, - centerBackNeckToWaist: 495, - chestCircumference: 965, - hipsCircumference: 838, - naturalWaistToHip: 110, - neckCircumference: 391, - shoulderSlope: 49, - shoulderToShoulder: 444, - shoulderToWrist: 680, - wristCircumference: 185 -}; -exports.manSize40 = { - bicepsCircumference: 320, - centerBackNeckToWaist: 498, - chestCircumference: 1023, - hipsCircumference: 896, - naturalWaistToHip: 115, - neckCircumference: 404, - shoulderSlope: 52, - shoulderToShoulder: 457, - shoulderToWrist: 685, - wristCircumference: 190 -}; -exports.manSize42 = { - bicepsCircumference: 335, - centerBackNeckToWaist: 501, - chestCircumference: 1081, - hipsCircumference: 895, - naturalWaistToHip: 120, - neckCircumference: 416, - shoulderSlope: 55, - shoulderToShoulder: 470, - shoulderToWrist: 690, - wristCircumference: 195 -}; -exports.manSize44 = { - bicepsCircumference: 350, - centerBackNeckToWaist: 505, - chestCircumference: 1139, - hipsCircumference: 1012, - naturalWaistToHip: 125, - neckCircumference: 429, - shoulderSlope: 58, - shoulderToShoulder: 483, - shoulderToWrist: 700, - wristCircumference: 200 -}; diff --git a/packages/models/src/index.js b/packages/models/src/index.js index 7d763e0d002..abbe84d4a7c 100644 --- a/packages/models/src/index.js +++ b/packages/models/src/index.js @@ -1,218 +1,22 @@ -export const measurements = { - menswear: [ - 'ankleCircumference', - 'bicepsCircumference', - 'centerBackNeckToWaist', - 'chestCircumference', - 'headCircumference', - 'hipsCircumference', - 'hipsToUpperLeg', - 'inseam', - 'kneeCircumference', - 'naturalWaist', - 'naturalWaistToFloor', - 'naturalWaistToHip', - 'naturalWaistToKnee', - 'naturalWaistToSeat', - 'neckCircumference', - 'seatDepth', - 'shoulderSlope', - 'shoulderToElbow', - 'shoulderToShoulder', - 'shoulderToWrist', - 'upperLegCircumference', - 'wristCircumference' - ], - womenswear: [ - 'ankleCircumference', - 'bicepsCircumference', - 'bustSpan', - 'centerBackNeckToWaist', - 'chestCircumference', - 'headCircumference', - 'highBust', - 'highPointShoulderToBust', - 'hipsCircumference', - 'hipsToUpperLeg', - 'inseam', - 'kneeCircumference', - 'naturalWaist', - 'naturalWaistToFloor', - 'naturalWaistToHip', - 'naturalWaistToKnee', - 'naturalWaistToUnderbust', - 'naturalWaistToSeat', - 'neckCircumference', - 'seatDepth', - 'shoulderSlope', - 'shoulderToElbow', - 'shoulderToShoulder', - 'shoulderToWrist', - 'underbust', - 'upperLegCircumference', - 'wristCircumference' - ] -} +import neckstimate from '@freesewing/utils/neckstimate' +import measurements from './measurements' +import sizes from './sizes' -export const withoutBreasts = { - size34: { - bicepsCircumference: 335, - centerBackNeckToWaist: 489, - chestCircumference: 849, - headCircumference: 570, - hipsCircumference: 722, - hipsToUpperLeg: 183, - naturalWaistToHip: 100, - neckCircumference: 366, - shoulderSlope: 43, - shoulderToShoulder: 419, - shoulderToWrist: 670, - upperLegCircumference: 565, - wristCircumference: 175, +const withBreasts = {} +const withoutBreasts = {} - ankleCircumference: 230, - inseam: 820, - kneeCircumference: 380, - naturalWaist: 785, - naturalWaistToFloor: 85, - naturalWaistToKnee: 620, - naturalWaistToSeat: 260, - seatDepth: 180, - shoulderToElbow: 370, - seatCircumference: 840 - }, - size36: { - bicepsCircumference: 290, - centerBackNeckToWaist: 492, - chestCircumference: 907, - headCircumference: 575, - hipsCircumference: 780, - hipsToUpperLeg: 193, - naturalWaistToHip: 105, - neckCircumference: 378, - shoulderSlope: 46, - shoulderToShoulder: 431, - shoulderToWrist: 675, - upperLegCircumference: 582, - wristCircumference: 180, - - ankleCircumference: 235, - inseam: 835, - kneeCircumference: 390, - naturalWaist: 820, - naturalWaistToFloor: 95, - naturalWaistToKnee: 630, - naturalWaistToSeat: 265, - seatDepth: 185, - shoulderToElbow: 375, - seatCircumference: 900 - }, - size38: { - bicepsCircumference: 305, - centerBackNeckToWaist: 495, - chestCircumference: 965, - headCircumference: 580, - hipsCircumference: 838, - hipsToUpperLeg: 202, - naturalWaistToHip: 110, - neckCircumference: 391, - shoulderSlope: 49, - shoulderToShoulder: 444, - shoulderToWrist: 680, - upperLegCircumference: 598, - wristCircumference: 185, - - ankleCircumference: 240, - inseam: 850, - kneeCircumference: 400, - naturalWaist: 855, - naturalWaistToFloor: 105, - naturalWaistToKnee: 640, - naturalWaistToSeat: 270, - seatDepth: 190, - shoulderToElbow: 380, - seatCircumference: 960 - }, - size40: { - bicepsCircumference: 320, - centerBackNeckToWaist: 498, - chestCircumference: 1023, - headCircumference: 585, - hipsCircumference: 896, - hipsToUpperLeg: 211, - naturalWaistToHip: 115, - neckCircumference: 404, - shoulderSlope: 52, - shoulderToShoulder: 457, - shoulderToWrist: 685, - upperLegCircumference: 614, - wristCircumference: 190, - - ankleCircumference: 245, - inseam: 865, - kneeCircumference: 410, - naturalWaist: 890, - naturalWaistToFloor: 115, - naturalWaistToKnee: 650, - naturalWaistToSeat: 275, - seatDepth: 195, - shoulderToElbow: 385, - seatCircumference: 1020 - }, - size42: { - bicepsCircumference: 335, - centerBackNeckToWaist: 501, - chestCircumference: 1081, - headCircumference: 590, - hipsCircumference: 995, - hipsToUpperLeg: 220, - naturalWaistToHip: 120, - neckCircumference: 416, - shoulderSlope: 55, - shoulderToShoulder: 470, - shoulderToWrist: 690, - upperLegCircumference: 630, - wristCircumference: 195, - - ankleCircumference: 250, - inseam: 880, - kneeCircumference: 420, - naturalWaist: 930, - naturalWaistToFloor: 125, - naturalWaistToKnee: 660, - naturalWaistToSeat: 280, - seatDepth: 200, - shoulderToElbow: 390, - seatCircumference: 1080 - }, - size44: { - bicepsCircumference: 350, - centerBackNeckToWaist: 505, - chestCircumference: 1139, - headCircumference: 595, - hipsCircumference: 1012, - hipsToUpperLeg: 229, - naturalWaistToHip: 125, - neckCircumference: 429, - shoulderSlope: 58, - shoulderToShoulder: 483, - shoulderToWrist: 700, - upperLegCircumference: 646, - wristCircumference: 200, - - ankleCircumference: 255, - inseam: 895, - kneeCircumference: 430, - naturalWaist: 945, - naturalWaistToFloor: 135, - naturalWaistToKnee: 670, - naturalWaistToSeat: 285, - seatDepth: 205, - shoulderToElbow: 395, - seatCircumference: 1140 +for (let s of sizes.womenswear) { + withBreasts['size' + s] = {} + for (let m of measurements.womenswear) { + withBreasts['size' + s][m] = neckstimate(s * 10, m, true) } } -export const withBreasts = { - // FIXME +for (let s of sizes.menswear) { + withoutBreasts['size' + s] = {} + for (let m of measurements.menswear) { + withoutBreasts['size' + s][m] = neckstimate(s * 10, m, false) + } } + +export { measurements, sizes, withoutBreasts, withBreasts } diff --git a/packages/models/src/measurements.js b/packages/models/src/measurements.js new file mode 100644 index 00000000000..1091e0747a4 --- /dev/null +++ b/packages/models/src/measurements.js @@ -0,0 +1,57 @@ +export default { + menswear: [ + 'ankleCircumference', + 'bicepsCircumference', + 'centerBackNeckToWaist', + 'chestCircumference', + 'headCircumference', + 'hipsCircumference', + 'hipsToUpperLeg', + 'inseam', + 'kneeCircumference', + 'naturalWaist', + 'naturalWaistToFloor', + 'naturalWaistToHip', + 'naturalWaistToKnee', + 'naturalWaistToSeat', + 'neckCircumference', + 'seatCircumference', + 'seatDepth', + 'shoulderSlope', + 'shoulderToElbow', + 'shoulderToShoulder', + 'shoulderToWrist', + 'upperLegCircumference', + 'wristCircumference' + ], + womenswear: [ + 'ankleCircumference', + 'bicepsCircumference', + 'bustSpan', + 'centerBackNeckToWaist', + 'chestCircumference', + 'headCircumference', + 'highBust', + 'highPointShoulderToBust', + 'hipsCircumference', + 'hipsToUpperLeg', + 'inseam', + 'kneeCircumference', + 'naturalWaist', + 'naturalWaistToFloor', + 'naturalWaistToHip', + 'naturalWaistToKnee', + 'naturalWaistToUnderbust', + 'naturalWaistToSeat', + 'neckCircumference', + 'seatCircumference', + 'seatDepth', + 'shoulderSlope', + 'shoulderToElbow', + 'shoulderToShoulder', + 'shoulderToWrist', + 'underbust', + 'upperLegCircumference', + 'wristCircumference' + ] +} diff --git a/packages/models/src/sizes.js b/packages/models/src/sizes.js new file mode 100644 index 00000000000..7aee24e7c6f --- /dev/null +++ b/packages/models/src/sizes.js @@ -0,0 +1,4 @@ +export default { + menswear: [32, 34, 36, 38, 40, 42, 44, 46, 48], + womenswear: [28, 30, 32, 34, 36, 38, 40, 42, 44, 46] +}