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

View file

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

View file

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

View file

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

View file

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

View file

@ -2,8 +2,7 @@ import freesewing from "freesewing";
import base from "./base";
import * as shared from "./shared";
var front = {
draft: function(part) {
export default part => {
// prettier-ignore
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)
for (let key of ["Shoulder", "Armhole", "Waist", "Hips"]) {
points[`cf${key}`] = new Point(
points[`cb${key}`].x,
points[`cb${key}`].y
);
points[`cf${key}`] = new Point(points[`cb${key}`].x, points[`cb${key}`].y);
delete points[`cb${key}`];
}
// Front neckline points
@ -84,7 +80,4 @@ var front = {
}
return part;
}
};
export default front;

View file

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

View file

@ -1,7 +1,6 @@
import freesewing from "freesewing";
var sleeve = {
draft: function(part) {
export default part => {
// prettier-ignore
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;
}
};
export default sleeve;

View file

@ -144,8 +144,7 @@ function draftSleevecap(part, run) {
}
}
var sleevecap = {
draft: function(part) {
export default part => {
// prettier-ignore
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);
return part;
}
};
export default sleevecap;