1
0
Fork 0

sparkles: Refactored code after changes in freesewing

This commit is contained in:
Joost De Cock 2018-12-17 14:42:28 +01:00
parent e2c7d98169
commit 694a5742ee
9 changed files with 553 additions and 586 deletions

View file

@ -3,9 +3,18 @@
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>Brian</title> <title>Brian</title>
<style>
.two {
display: inline-block;
max-width: 45%;
margin: auto;
}
</style>
</head> </head>
<body> <body>
<div id="svg"></div> <div id="svg"></div>
<div id="svg1" class="two"></div>
<div id="svg2" class="two"></div>
<!-- <script type="text/javascript" src="node_modules/freesewing/dist/browser.js"></script> --> <!-- <script type="text/javascript" src="node_modules/freesewing/dist/browser.js"></script> -->
<script type="text/javascript" src="../../freesewing/dist/browser.js"></script> <script type="text/javascript" src="../../freesewing/dist/browser.js"></script>
<script type="text/javascript" src="node_modules/@freesewing/plugin-bundle/dist/browser.js"></script> <script type="text/javascript" src="node_modules/@freesewing/plugin-bundle/dist/browser.js"></script>
@ -20,7 +29,6 @@
<script type="text/javascript" src="node_modules/@freesewing/models/dist/browser.js"></script> <script type="text/javascript" src="node_modules/@freesewing/models/dist/browser.js"></script>
<script type="text/javascript" src="node_modules/@freesewing/antman/dist/browser.js"></script> <script type="text/javascript" src="node_modules/@freesewing/antman/dist/browser.js"></script>
<script> <script>
//console.log('adding hooks to pattern');
let settings = { let settings = {
"complete": true, "complete": true,
"idPrefix": "fs-", "idPrefix": "fs-",
@ -65,7 +73,6 @@ let settings = {
"embed": true, "embed": true,
"sa": 0, "sa": 0,
"paperless": false, "paperless": false,
"only": [ "front", "back" ],
"measurements": { "measurements": {
"bicepsCircumference": 335, "bicepsCircumference": 335,
"centerBackNeckToWaist": 520, "centerBackNeckToWaist": 520,
@ -89,64 +96,59 @@ let settings = {
"naturalWaistToSeat": 280 "naturalWaistToSeat": 280
} }
}; };
var pattern = new freesewing.patterns.brian(settings); let settings1 = { ...settings};
//console.log('pattern', pattern); settings1.sample = {
pattern.with(freesewing.plugins.debug) type: "models",
//pattern.with(freesewing.plugins.validate) models: {
// pattern.with(freesewing.plugins.theme) a: {
//pattern.with(freesewing.plugins.designer) "bicepsCircumference": 335,
//pattern.with(freesewing.plugins.i18n) "centerBackNeckToWaist": 520,
// console.log('pattern after', pattern); "chestCircumference": 1080,
"hipsCircumference": 990,
//pattern.on('postSample', function(next) { "naturalWaist": 925,
// console.log('postSample hook'); "naturalWaistToHip": 145,
// next(); "neckCircumference": 420,
//}); "shoulderSlope": 55,
//pattern.on('preSample', function(next) { "shoulderToElbow": 410,
// console.log('preSample hook'); "shoulderToShoulder": 465,
// next(); "shoulderToWrist": 680,
//}); "wristCircumference": 190,
//pattern.on('preDraft', function(next) { "seatCircumference": 1080,
// console.log('preDraft hook'); "inseam": 910,
// next(); "seatDepth": 200,
//}); "hipsToUpperLeg": 220,
//pattern.on('postDraft', function(next) { "upperLegCircumference": 630,
// console.log('postDraft hook'); "headCircumference": 590,
// next(); "naturalWaistToFloor": 1310,
//}); "naturalWaistToSeat": 280
//pattern.settings.locale = 'nl'; },
//pattern.settings.paperless = true; b: {
//pattern.settings.complete = false; "bicepsCircumference": 33.5,
// pattern.settings.measurements = freesewing.models.men.manSize38; "centerBackNeckToWaist": 52,
// pattern.settings.measurements = { "chestCircumference": 108,
// bicepsCircumference: 305, "hipsCircumference": 99,
// centerBackNeckToWaist: 495, "naturalWaist": 92,
// chestCircumference: 965, "naturalWaistToHip": 14,
// hipsCircumference: 838, "neckCircumference": 42,
// naturalWaistToHip: 110, "shoulderSlope": 5,
// neckCircumference: 391, "shoulderToElbow": 41,
// shoulderSlope: 49, "shoulderToShoulder": 46,
// shoulderToShoulder: 444, "shoulderToWrist": 68,
// shoulderToWrist: 680, "wristCircumference": 19,
// wristCircumference: 185, "seatCircumference": 108,
// } "inseam": 91,
//pattern.settings.sa = 10; "seatDepth": 20,
//pattern.settings.units = 'metric'; "hipsToUpperLeg": 22,
//pattern.settings.sample = { "upperLegCircumference": 63,
// type: 'models', "headCircumference": 59,
// focus: 'manSize34', "naturalWaistToFloor": 131,
// models: freesewing.models.men "naturalWaistToSeat": 28
//} }}
//pattern.mergeSettings({only: ["sleeve"]}); }
//pattern.options.lengthBonus = 0.15; var pattern1 = new freesewing.patterns.brian(settings1);
//pattern.options.brianFitCollar = false; pattern1.sample();
//pattern.sampleOption('shoulderSlopeReduction'); console.log(pattern1);
//pattern.sampleMeasurement('shoulderSlope'); document.getElementById("svg1").innerHTML = pattern1.render();
//pattern.sampleModels(freesewing.models.men, 'manSize34');
//pattern.sample();
console.log('settings', pattern.settings);
console.log('draft return value', pattern.draft());
document.getElementById("svg").innerHTML = pattern.render();
function pointHover(evt) { function pointHover(evt) {
var point = evt.target; var point = evt.target;

View file

@ -2750,9 +2750,9 @@
} }
}, },
"freesewing": { "freesewing": {
"version": "0.22.3", "version": "0.23.0",
"resolved": "https://registry.npmjs.org/freesewing/-/freesewing-0.22.3.tgz", "resolved": "https://registry.npmjs.org/freesewing/-/freesewing-0.23.0.tgz",
"integrity": "sha512-1w2vIb8LKjaHmWXrqQfOiTRXtmVwzO2Gpcofx3DlcSwV8WssPf7DcavZpROJMqWWb6Od/Ycf5lHVkDjhW+2RnQ==", "integrity": "sha512-JPknXGAWeWmjejpygJjoEgsbwpPSR3/bJqb9ymXOm9/IJJqUI73ZdVW4MEDS/WLQQTdCTxRNPVeHcu8VzucuOw==",
"requires": { "requires": {
"bezier-js": "^2.2.15", "bezier-js": "^2.2.15",
"bin-pack": "1.0.2" "bin-pack": "1.0.2"

View file

@ -48,7 +48,7 @@
}, },
"dependencies": { "dependencies": {
"@freesewing/plugin-bundle": "0.5.1", "@freesewing/plugin-bundle": "0.5.1",
"freesewing": "^0.22.3" "freesewing": "^0.23"
}, },
"devDependencies": { "devDependencies": {
"@babel/core": "7.0.0-beta.56", "@babel/core": "7.0.0-beta.56",

View file

@ -1,8 +1,7 @@
import freesewing from "freesewing"; import freesewing from "freesewing";
import * as shared from "./shared"; import * as shared from "./shared";
var back = { export default part => {
draft: function(part) {
// prettier-ignore // prettier-ignore
let {store, sa, points, Path, paths, Snippet, snippets, complete, paperless, macro} = part.shorthand(); let {store, sa, points, Path, paths, Snippet, snippets, complete, paperless, macro} = part.shorthand();
@ -67,7 +66,4 @@ var back = {
} }
return part; return part;
}
}; };
export default back;

View file

@ -1,8 +1,7 @@
import freesewing from "freesewing"; import freesewing from "freesewing";
import * as shared from "./shared"; import * as shared from "./shared";
var base = { export default part => {
draft: function(part) {
// prettier-ignore // prettier-ignore
let {units, debug, measurements, options, store, points, snippets, Point, Snippet, Path, paths, utils, complete } = part.shorthand(); let {units, debug, measurements, options, store, points, snippets, Point, Snippet, Path, paths, utils, complete } = part.shorthand();
@ -161,16 +160,10 @@ var base = {
// Complete pattern? // Complete pattern?
if (complete) { if (complete) {
points.title = new Point( points.title = new Point(points.armholePitch.x / 2, points.armholePitch.y);
points.armholePitch.x / 2,
points.armholePitch.y
);
points.logo = points.title.shift(-90, 100); points.logo = points.title.shift(-90, 100);
snippets.logo = new Snippet("logo", points.logo); snippets.logo = new Snippet("logo", points.logo);
} }
return part; return part;
}
}; };
export default base;

View file

@ -2,8 +2,7 @@ import freesewing from "freesewing";
import base from "./base"; import base from "./base";
import * as shared from "./shared"; import * as shared from "./shared";
var front = { export default part => {
draft: function(part) {
// prettier-ignore // prettier-ignore
let {store, sa, Point, points, Path, paths, Snippet, snippets, options, measurements, complete, paperless, macro} = part.shorthand(); let {store, sa, Point, points, Path, paths, Snippet, snippets, options, measurements, complete, paperless, macro} = part.shorthand();
@ -15,10 +14,7 @@ var front = {
// Rename cb (center back) to cf (center front) // Rename cb (center back) to cf (center front)
for (let key of ["Shoulder", "Armhole", "Waist", "Hips"]) { for (let key of ["Shoulder", "Armhole", "Waist", "Hips"]) {
points[`cf${key}`] = new Point( points[`cf${key}`] = new Point(points[`cb${key}`].x, points[`cb${key}`].y);
points[`cb${key}`].x,
points[`cb${key}`].y
);
delete points[`cb${key}`]; delete points[`cb${key}`];
} }
// Front neckline points // Front neckline points
@ -84,7 +80,4 @@ var front = {
} }
return part; return part;
}
}; };
export default front;

View file

@ -2,11 +2,12 @@ import freesewing from "freesewing";
import pluginBundle from "@freesewing/plugin-bundle"; import pluginBundle from "@freesewing/plugin-bundle";
import config from "../config/config"; import config from "../config/config";
import { version } from "../package.json"; import { version } from "../package.json";
import base from "./base"; // Parts
import back from "./back"; import draftBase from "./base";
import front from "./front"; import draftBack from "./back";
import sleevecap from "./sleevecap"; import draftFront from "./front";
import sleeve from "./sleeve"; import draftSleevecap from "./sleevecap";
import draftSleeve from "./sleeve";
// Constructor boilerplate // Constructor boilerplate
const Brian = function(settings = false) { const Brian = function(settings = false) {
@ -21,21 +22,11 @@ const Brian = function(settings = false) {
Brian.prototype = Object.create(freesewing.Pattern.prototype); Brian.prototype = Object.create(freesewing.Pattern.prototype);
Brian.prototype.constructor = Brian; Brian.prototype.constructor = Brian;
// Per-part draft methods // Attach per-part draft methods to prototype
Brian.prototype.draftBase = function(part) { Brian.prototype.draftBase = draftBase;
return base.draft(part); Brian.prototype.draftBack = draftBack;
}; Brian.prototype.draftFront = draftFront;
Brian.prototype.draftBack = function(part) { Brian.prototype.draftSleevecap = draftSleevecap;
return back.draft(part); Brian.prototype.draftSleeve = draftSleeve;
};
Brian.prototype.draftFront = function(part) {
return front.draft(part);
};
Brian.prototype.draftSleevecap = function(part) {
return sleevecap.draft(part);
};
Brian.prototype.draftSleeve = function(part) {
return sleeve.draft(part);
};
export default Brian; export default Brian;

View file

@ -1,7 +1,6 @@
import freesewing from "freesewing"; import freesewing from "freesewing";
var sleeve = { export default part => {
draft: function(part) {
// prettier-ignore // prettier-ignore
let {debug, store, units, sa, measurements, options, Point, points, Path, paths, Snippet, snippets, complete, paperless, macro} = part.shorthand(); let {debug, store, units, sa, measurements, options, Point, points, Path, paths, Snippet, snippets, complete, paperless, macro} = part.shorthand();
@ -95,7 +94,4 @@ var sleeve = {
}); });
} }
return part; return part;
}
}; };
export default sleeve;

View file

@ -144,8 +144,7 @@ function draftSleevecap(part, run) {
} }
} }
var sleevecap = { export default part => {
draft: function(part) {
// prettier-ignore // prettier-ignore
let {debug, store, units, sa, measurements, options, Point, points, Path, paths } = part.shorthand(); let {debug, store, units, sa, measurements, options, Point, points, Path, paths } = part.shorthand();
@ -182,7 +181,4 @@ var sleevecap = {
points.gridAnchor = new Point(0, 0); points.gridAnchor = new Point(0, 0);
return part; return part;
}
}; };
export default sleevecap;