diff --git a/packages/brian/config/config.js b/packages/brian/config/config.js index adb6b33d104..6b88fa7a9eb 100644 --- a/packages/brian/config/config.js +++ b/packages/brian/config/config.js @@ -1,45 +1,44 @@ /** Pattern parts */ -export const parts = [ - "backBlock", - "frontBlock", - "_sleeveBlock" -]; +module.exports = { + parts: [ + "backBlock", + "frontBlock", + "_sleeveBlock" + ], + measurements: [ + "bicepsCircumference", + "centerBackNeckToWaist", + "chestCircumference", + "naturalWaistToHip", + "neckCircumference", + "shoulderSlope", + "shoulderToShoulder", + "hipsCircumference", + "shoulderToWrist", + "wristCircumference" + ], + options: [ + // Constants + { "id": "backNeckCutout", "val": 20, "type": "constant"}, + { "id": "bicepsEase", "val": 50, "type": "constant"}, + { "id": "collarEase", "val": 15, "type": "constant"}, + { "id": "frontArmholeExtra", "val": 5, "type": "constant"}, + { "id": "shoulderSlopeReduction", "val": 0, "type": "constant"}, + { "id": "sleevecapEase", "val": 5, "type": "constant"}, + { "id": "collarFactor", "val":4.8, "type": "constant"}, -/** Requires measurements */ -export const measurements = [ - "bicepsCircumference", - "centerBackNeckToWaist", - "chestCircumference", - "naturalWaistToHip", - "neckCircumference", - "shoulderSlope", - "shoulderToShoulder", - "hipsCircumference", - "shoulderToWrist", - "wristCircumference" -]; + // Measures + { "id": "bicepsEase", "val": 50, "min": 30, "max": 80 }, + { "id": "chestEase", "val": 30, "min": -40, "max": 160 }, + { "id": "shoulderEase", "val": 0, "min": -20, "max": 60 }, + { "id": "cuffEase", "val": 45, "min": 0, "max": 100 }, + { "id": "lengthBonus", "val": 0, "min": -40, "max": 120 }, + { "id": "sleeveLengthBonus", "val": 0, "min": -40, "max": 80 }, -export const options = [ + // Percentages + { "id": "acrossBackFactor", "val": 96, "type": "percentage", "min": 93, "max": 99 }, + { "id": "armholeDepthFactor", "val": 50, "type": "percentage", "min": 50, "max": 65 }, + { "id": "sleevecapHeightFactor", "val": 55, "type": "percentage", "min": 35, "max": 75 } + ] +}; - // Constants - { "id": "backNeckCutout", "val": 20, "type": "constant"}, - { "id": "bicepsEase", "val": 50, "type": "constant"}, - { "id": "collarEase", "val": 15, "type": "constant"}, - { "id": "frontArmholeExtra", "val": 5, "type": "constant"}, - { "id": "shoulderSlopeReduction", "val": 0, "type": "constant"}, - { "id": "sleevecapEase", "val": 5, "type": "constant"}, - { "id": "collarFactor", "val":4.8, "type": "constant"}, - - // Measures - { "id": "bicepsEase", "val": 50, "min": 30, "max": 80 }, - { "id": "chestEase", "val": 30, "min": -40, "max": 160 }, - { "id": "shoulderEase", "val": 0, "min": -20, "max": 60 }, - { "id": "cuffEase", "val": 45, "min": 0, "max": 100 }, - { "id": "lengthBonus", "val": 0, "min": -40, "max": 120 }, - { "id": "sleeveLengthBonus", "val": 0, "min": -40, "max": 80 }, - - // Percentages - { "id": "acrossBackFactor", "val": 96, "type": "percentage", "min": 93, "max": 99 }, - { "id": "armholeDepthFactor", "val": 50, "type": "percentage", "min": 50, "max": 65 }, - { "id": "sleevecapHeightFactor", "val": 55, "type": "percentage", "min": 35, "max": 75 } -]; diff --git a/packages/brian/dist/config/config.d.ts b/packages/brian/dist/config/config.d.ts deleted file mode 100644 index a0095bc1a58..00000000000 --- a/packages/brian/dist/config/config.d.ts +++ /dev/null @@ -1,23 +0,0 @@ -/** Pattern parts */ -export declare const parts: string[]; -/** Requires measurements */ -export declare const measurements: string[]; -export declare const options: ({ - "id": string; - "val": number; - "type": string; - "min"?: undefined; - "max"?: undefined; -} | { - "id": string; - "val": number; - "min": number; - "max": number; - "type"?: undefined; -} | { - "id": string; - "val": number; - "type": string; - "min": number; - "max": number; -})[]; diff --git a/packages/brian/dist/config/config.js b/packages/brian/dist/config/config.js deleted file mode 100644 index fe5f18a4b3e..00000000000 --- a/packages/brian/dist/config/config.js +++ /dev/null @@ -1,42 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -/** Pattern parts */ -exports.parts = [ - "backBlock", - "frontBlock", - "_sleeveBlock" -]; -/** Requires measurements */ -exports.measurements = [ - "bicepsCircumference", - "centerBackNeckToWaist", - "chestCircumference", - "naturalWaistToHip", - "neckCircumference", - "shoulderSlope", - "shoulderToShoulder", - "hipsCircumference", - "shoulderToWrist", - "wristCircumference" -]; -exports.options = [ - // Constants - { "id": "backNeckCutout", "val": 20, "type": "constant" }, - { "id": "bicepsEase", "val": 50, "type": "constant" }, - { "id": "collarEase", "val": 15, "type": "constant" }, - { "id": "frontArmholeExtra", "val": 5, "type": "constant" }, - { "id": "shoulderSlopeReduction", "val": 0, "type": "constant" }, - { "id": "sleevecapEase", "val": 5, "type": "constant" }, - { "id": "collarFactor", "val": 4.8, "type": "constant" }, - // Measures - { "id": "bicepsEase", "val": 50, "min": 30, "max": 80 }, - { "id": "chestEase", "val": 30, "min": -40, "max": 160 }, - { "id": "shoulderEase", "val": 0, "min": -20, "max": 60 }, - { "id": "cuffEase", "val": 45, "min": 0, "max": 100 }, - { "id": "lengthBonus", "val": 0, "min": -40, "max": 120 }, - { "id": "sleeveLengthBonus", "val": 0, "min": -40, "max": 80 }, - // Percentages - { "id": "acrossBackFactor", "val": 96, "type": "percentage", "min": 93, "max": 99 }, - { "id": "armholeDepthFactor", "val": 50, "type": "percentage", "min": 50, "max": 65 }, - { "id": "sleevecapHeightFactor", "val": 55, "type": "percentage", "min": 35, "max": 75 } -]; diff --git a/packages/brian/dist/index.d.ts b/packages/brian/dist/index.d.ts deleted file mode 100644 index 54cfd1c14b5..00000000000 --- a/packages/brian/dist/index.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { Pattern } from 'freesewing/dist/lib/pattern'; -declare var brian: Pattern; -export default brian; diff --git a/packages/brian/dist/index.js b/packages/brian/dist/index.js index 080b5c73c90..baeb7f463f2 100644 --- a/packages/brian/dist/index.js +++ b/packages/brian/dist/index.js @@ -1,28 +1,45 @@ -"use strict"; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; - result["default"] = mod; - return result; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -var freesewing_1 = __importDefault(require("freesewing")); -var patternConfig = __importStar(require("./config/config")); -var back_1 = __importDefault(require("./lib/back")); -var models_1 = require("@freesewing/models"); -var brian = new freesewing_1.default.pattern(patternConfig); -brian.draft = function (final) { - if (final === void 0) { final = true; } - back_1.default.draft(brian, final); - return brian; +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _freesewing = require('freesewing'); + +var _freesewing2 = _interopRequireDefault(_freesewing); + +var _config = require('../config/config'); + +var patternConfig = _interopRequireWildcard(_config); + +var _pattern = require('freesewing/dist/lib/pattern'); + +var _back = require('./lib/back'); + +var _back2 = _interopRequireDefault(_back); + +var _models = require('@freesewing/models'); + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var brian = new _freesewing2.default.pattern(patternConfig); + +brian.draft = function () { + var final = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true; + + _back2.default.draft(brian, final); + + return brian; }; + exports.default = brian; + // This is not for inclusion in production -console.log(models_1.manSize38); -brian.settings.measurements = models_1.manSize38; + +console.log(_models.manSize38); +brian.settings.measurements = _models.manSize38; + brian.draft(); -console.log(brian.parts.backBlock.points); +console.log(brian.parts.backBlock.points); \ No newline at end of file diff --git a/packages/brian/dist/lib/back.d.ts b/packages/brian/dist/lib/back.d.ts deleted file mode 100644 index 303155ed0fc..00000000000 --- a/packages/brian/dist/lib/back.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { Pattern } from 'freesewing/dist/lib/pattern'; -declare var backBlock: { - draft: (pattern: Pattern, final?: boolean) => void; -}; -export default backBlock; diff --git a/packages/brian/dist/lib/back.js b/packages/brian/dist/lib/back.js index 1e96e6a0575..01975088b52 100644 --- a/packages/brian/dist/lib/back.js +++ b/packages/brian/dist/lib/back.js @@ -1,44 +1,56 @@ -"use strict"; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -var freesewing_1 = __importDefault(require("freesewing")); +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _freesewing = require('freesewing'); + +var _freesewing2 = _interopRequireDefault(_freesewing); + +var _pattern = require('freesewing/dist/lib/pattern'); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + var backBlock = { - draft: function (pattern, final) { - if (final === void 0) { final = true; } - // Save some typing - var measurements = pattern.settings.measurements || {}; - var options = pattern.options; - var values = pattern.values; - var points = pattern.parts.backBlock.points; - var paths = pattern.parts.backBlock.paths; - // Center back (cb) vertical axis - points.cbNeck = new freesewing_1.default.point(0, options.backNeckCutout); - points.cbShoulder = new freesewing_1.default.point(0, points.cbNeck.y + (measurements.shoulderSlope - options.shoulderSlopeReduction) / 2); - points.cbArmhole = new freesewing_1.default.point(0, points.cbShoulder.y + (measurements.bicepsCircumference + options.bicepsEase) * options.armholeDepthFactor); - points.cbWaist = new freesewing_1.default.point(0, measurements.centerBackNeckToWaist + options.backNeckCutout); - points.cbHips = new freesewing_1.default.point(0, points.cbWaist.y + measurements.naturalWaistToHip); - // Side back (cb) vertical axis - points.armhole = new freesewing_1.default.point(measurements.chestCircumference / 4 + options.chestEase / 4, points.cbArmhole.y); - points.waist = new freesewing_1.default.point(points.armhole.x, points.cbWaist.y); - points.hips = new freesewing_1.default.point(points.armhole.x, points.cbHips.y); - // Shoulder line - points.neck = new freesewing_1.default.point(measurements.neckCircumference / options.collarFactor, 0); - points.shoulder = new freesewing_1.default.point(measurements.shoulderToShoulder / 2 + options.shoulderEase / 2, points.cbShoulder.y); - // Armhhole - points.armholePitch = new freesewing_1.default.point(measurements.shoulderToShoulder * options.acrossBackFactor / 2, points.armhole.y / 2 - points.shoulder.y / 2); - points._tmp1 = new freesewing_1.default.point(points.armholePitch.x, points.armhole.y); - points._tmp2 = points._tmp1.shift(45, 10); - points._tmp3 = freesewing_1.default.utils.beamsCross(points._tmp1, points._tmp2, points.armhole, points.armholePitch); - points.armholeHollow = points._tmp1.shiftFractionTowards(points._tmp3, 0.5); - paths.test = new freesewing_1.default.path() - .move(points.cbNeck) - .line(points.armhole) - .line(points.cbHips) - .line(points.hips) - .curve(points.neck, points.shoulder, points.armholePitch); - points.gridAnchor = points.cbHips; - } + draft: function draft(pattern) { + var final = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; + + + // Save some typing + var measurements = pattern.settings.measurements || {}; + var options = pattern.options; + var values = pattern.values; + var points = pattern.parts.backBlock.points; + var paths = pattern.parts.backBlock.paths; + + // Center back (cb) vertical axis + points.cbNeck = new _freesewing2.default.point(0, options.backNeckCutout); + points.cbShoulder = new _freesewing2.default.point(0, points.cbNeck.y + (measurements.shoulderSlope - options.shoulderSlopeReduction) / 2); + points.cbArmhole = new _freesewing2.default.point(0, points.cbShoulder.y + (measurements.bicepsCircumference + options.bicepsEase) * options.armholeDepthFactor); + points.cbWaist = new _freesewing2.default.point(0, measurements.centerBackNeckToWaist + options.backNeckCutout); + points.cbHips = new _freesewing2.default.point(0, points.cbWaist.y + measurements.naturalWaistToHip); + + // Side back (cb) vertical axis + points.armhole = new _freesewing2.default.point(measurements.chestCircumference / 4 + options.chestEase / 4, points.cbArmhole.y); + points.waist = new _freesewing2.default.point(points.armhole.x, points.cbWaist.y); + points.hips = new _freesewing2.default.point(points.armhole.x, points.cbHips.y); + + // Shoulder line + points.neck = new _freesewing2.default.point(measurements.neckCircumference / options.collarFactor, 0); + points.shoulder = new _freesewing2.default.point(measurements.shoulderToShoulder / 2 + options.shoulderEase / 2, points.cbShoulder.y); + + // Armhhole + points.armholePitch = new _freesewing2.default.point(measurements.shoulderToShoulder * options.acrossBackFactor / 2, points.armhole.y / 2 - points.shoulder.y / 2); + points._tmp1 = new _freesewing2.default.point(points.armholePitch.x, points.armhole.y); + points._tmp2 = points._tmp1.shift(45, 10); + points._tmp3 = _freesewing2.default.utils.beamsCross(points._tmp1, points._tmp2, points.armhole, points.armholePitch); + points.armholeHollow = points._tmp1.shiftFractionTowards(points._tmp3, 0.5); + + paths.test = new _freesewing2.default.path().move(points.cbNeck).line(points.armhole).line(points.cbHips).line(points.hips).curve(points.neck, points.shoulder, points.armholePitch); + + points.gridAnchor = points.cbHips; + } }; -exports.default = backBlock; + +exports.default = backBlock; \ No newline at end of file diff --git a/packages/brian/dist/lib/types.d.ts b/packages/brian/dist/lib/types.d.ts deleted file mode 100644 index 462160f7e96..00000000000 --- a/packages/brian/dist/lib/types.d.ts +++ /dev/null @@ -1,16 +0,0 @@ -export declare type DraftMode = "sample" | "compare" | "draft"; -export declare type CompareGroup = "men" | "women"; -export declare type Units = "metric" | "imperial"; -export interface DraftConfig { - mode: DraftMode; - units?: Units; - options: { - [index: string]: number; - }; - measurements?: { - [index: string]: number; - }; - sa?: number; - scope?: string[]; - theme?: string; -} diff --git a/packages/brian/dist/lib/types.js b/packages/brian/dist/lib/types.js deleted file mode 100644 index c8ad2e549bd..00000000000 --- a/packages/brian/dist/lib/types.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/packages/brian/package-lock.json b/packages/brian/package-lock.json index bfcc622026c..6bf1fd97fe6 100644 --- a/packages/brian/package-lock.json +++ b/packages/brian/package-lock.json @@ -759,6 +759,17 @@ "to-fast-properties": "1.0.3" } }, + "babel-watch": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/babel-watch/-/babel-watch-2.0.7.tgz", + "integrity": "sha512-pBVjnK1A3xJZHOrgVCbfd727tIPQrvzxFqGL1hgUClNd7LdQpTlO73SM1RJ9I4ibgiljbUE/3IcIHXHBJSL5+w==", + "dev": true, + "requires": { + "chokidar": "1.7.0", + "commander": "2.16.0", + "source-map-support": "0.4.18" + } + }, "babylon": { "version": "6.18.0", "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", diff --git a/packages/brian/package.json b/packages/brian/package.json index 4367ef8eee9..705e59ebfbf 100644 --- a/packages/brian/package.json +++ b/packages/brian/package.json @@ -2,13 +2,12 @@ "name": "@freesewing/brian", "version": "0.2.4", "description": "A basic body block for menswear", - "main": "dist/index.js", + "main": "dist/main.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", - "build": "babel-node -- ./index.js", - "build-watch": "nodemon --exec npm run build", - "run": "nodemon node dist/index.js", - "run-watch": "nodemon node dist/index.js" + "build": "babel src -d dist", + "watch": "babel-watch src/main.js", + "run": "nodemon node dist/main.js" }, "repository": { "type": "git", @@ -26,6 +25,7 @@ "devDependencies": { "@freesewing/models": "0.1.1", "babel-cli": "6.26.0", - "babel-preset-env": "1.7.0" + "babel-preset-env": "1.7.0", + "babel-watch": "2.0.7" } } diff --git a/packages/brian/lib/back.js b/packages/brian/src/lib/back.js similarity index 100% rename from packages/brian/lib/back.js rename to packages/brian/src/lib/back.js diff --git a/packages/brian/index.js b/packages/brian/src/main.js similarity index 90% rename from packages/brian/index.js rename to packages/brian/src/main.js index 793feb9ae6c..5817a86cf8e 100644 --- a/packages/brian/index.js +++ b/packages/brian/src/main.js @@ -1,5 +1,5 @@ import F from 'freesewing' -import * as patternConfig from './config/config' +import * as patternConfig from '../config/config' import { Pattern } from 'freesewing/dist/lib/pattern' import backBlock from './lib/back' import { manSize38 } from '@freesewing/models'