diff --git a/packages/brian/index.html b/packages/brian/index.html
index 5af59ca286c..2194cbe572a 100644
--- a/packages/brian/index.html
+++ b/packages/brian/index.html
@@ -148,7 +148,9 @@ let settings1 = { ...settings};
}
var pattern1 = new freesewing.patterns.brian(settings1);
pattern1.with(freesewing.plugins.theme);
- pattern1.with(freesewing.plugins.i18n, {strings: {en: {sleeve: "Sleeve"}}});
+ pattern1.with(freesewing.plugins.designer);
+ pattern1.settings.options.lengthBonus =0.1;
+ //pattern1.settings.only="base";
pattern1.draft();
console.log(pattern1);
document.getElementById("svg1").innerHTML = pattern1.render();
diff --git a/packages/brian/package-lock.json b/packages/brian/package-lock.json
index 4b8baf11a8f..878338e4aa4 100644
--- a/packages/brian/package-lock.json
+++ b/packages/brian/package-lock.json
@@ -947,9 +947,9 @@
"dev": true
},
"@freesewing/plugin-designer": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/@freesewing/plugin-designer/-/plugin-designer-0.8.0.tgz",
- "integrity": "sha512-wXj3aEPdfjaEAXwVbPXMahRbqIfGKT84U85AgdgWRS6ts8p45L8eXYViB6aYCwrFtBOY+EXa79e7YD3d+AMuJw==",
+ "version": "0.10.0",
+ "resolved": "https://registry.npmjs.org/@freesewing/plugin-designer/-/plugin-designer-0.10.0.tgz",
+ "integrity": "sha512-t5A21GZlLiknEr5LAXmhsay8bobgE6Mrjxe11PMczGV1rZKWZPM9/Cj1iD1hSmuuLuER8MsMk4KfJVHst9hOFA==",
"dev": true
},
"@freesewing/plugin-dimension": {
@@ -2750,9 +2750,9 @@
}
},
"freesewing": {
- "version": "0.23.1",
- "resolved": "https://registry.npmjs.org/freesewing/-/freesewing-0.23.1.tgz",
- "integrity": "sha512-LRqcat01NXkxs069liPPMv6CD+wgE781oosDB6sUjR6e/LuFfLRzuY/w+LGORvqrD/mVDjGY2iClfYRov03lww==",
+ "version": "0.23.3",
+ "resolved": "https://registry.npmjs.org/freesewing/-/freesewing-0.23.3.tgz",
+ "integrity": "sha512-u3Cq2N8dAnuLFftDsPg5tmKaQQeUo0EY545/caB0cdZ0+nyzMBzJU+7oHzZSM3sSdnTlTNmKHiYHr88M1txsGw==",
"requires": {
"bezier-js": "^2.2.15",
"bin-pack": "1.0.2"
diff --git a/packages/brian/package.json b/packages/brian/package.json
index c0512964735..9d8979514ba 100644
--- a/packages/brian/package.json
+++ b/packages/brian/package.json
@@ -28,7 +28,7 @@
"clean": "rimraf dist",
"pretty": "npx prettier --write \"src/*.js\"",
"lint": "eslint --fix \"src/*.js\"",
- "watch": "npx webpack --watch",
+ "watch": "nodemon -w src --exec npm run browserbuild",
"browserbuild": "rollup -c rollup.js -o dist/browser.js -f iife -m true -n freesewing_patterns_brian --footer 'freesewing.patterns.brian = freesewing_patterns_brian;'",
"nodebuild": "rollup -c rollup.js -o dist/index.js -f cjs -m true",
"modulebuild": "rollup -c rollup.js -o dist/index.mjs -f es -m true",
@@ -61,7 +61,7 @@
"@freesewing/antman": "0.2.0",
"@freesewing/models": "0.4.0",
"@freesewing/plugin-debug": "0.3.0",
- "@freesewing/plugin-designer": "0.8.0",
+ "@freesewing/plugin-designer": "0.10.0",
"@freesewing/plugin-theme": "0.18",
"@freesewing/plugin-validate": "0.2.0",
"@freesewing/plugin-i18n": "0.0.1",
diff --git a/packages/brian/src/base.js b/packages/brian/src/base.js
index d50be89bd28..d74f8f34d70 100644
--- a/packages/brian/src/base.js
+++ b/packages/brian/src/base.js
@@ -34,6 +34,10 @@ export default part => {
points.cbNeck.y + measurements.centerBackNeckToWaist
);
points.cbHips = new Point(
+ 0,
+ points.cbWaist.y + measurements.naturalWaistToHip
+ );
+ points.cbHem = new Point(
0,
points.cbWaist.y +
measurements.naturalWaistToHip +
@@ -48,6 +52,7 @@ export default part => {
);
points.waist = new Point(points.armhole.x, points.cbWaist.y);
points.hips = new Point(points.armhole.x, points.cbHips.y);
+ points.hem = new Point(points.armhole.x, points.cbHem.y);
// Shoulder line
points.neck = new Point(
@@ -149,13 +154,13 @@ export default part => {
debug({ style: "warning", label: "🚫 Not fitting collar" }, "(in Brian)");
// Anchor point for sampling
- points.gridAnchor = points.cbHips;
+ points.gridAnchor = points.cbHem;
// Seamline
paths.saBase = shared.saBase("back", points, Path);
paths.seam = new Path()
.move(points.cbNeck)
- .line(points.cbHips)
+ .line(points.cbHem)
.join(paths.saBase)
.attr("class", "fabric");
diff --git a/packages/brian/src/front.js b/packages/brian/src/front.js
index 6f9e8034a94..a435c0d90b9 100644
--- a/packages/brian/src/front.js
+++ b/packages/brian/src/front.js
@@ -13,7 +13,7 @@ export default part => {
points.armholePitchCp2.x -= deeper;
// Rename cb (center back) to cf (center front)
- for (let key of ["Shoulder", "Armhole", "Waist", "Hips"]) {
+ for (let key of ["Shoulder", "Armhole", "Waist", "Hips", "Hem"]) {
points[`cf${key}`] = new Point(points[`cb${key}`].x, points[`cb${key}`].y);
delete points[`cb${key}`];
}
@@ -24,7 +24,7 @@ export default part => {
paths.saBase = shared.saBase("front", points, Path);
paths.seam = new Path()
.move(points.cfNeck)
- .line(points.cfHips)
+ .line(points.cfHem)
.join(paths.saBase)
.attr("class", "fabric");
diff --git a/packages/brian/src/shared.js b/packages/brian/src/shared.js
index b97c1602f29..d71bc2e3523 100644
--- a/packages/brian/src/shared.js
+++ b/packages/brian/src/shared.js
@@ -1,9 +1,9 @@
export function saBase(side, points, Path) {
let path = new Path();
- if (side === "back") path.move(points.cbHips);
- else path.move(points.cfHips);
+ if (side === "back") path.move(points.cbHem);
+ else path.move(points.cfHem);
path
- .line(points.hips)
+ .line(points.hem)
.line(points.armhole)
.curve(points.armholeCp2, points.armholeHollowCp1, points.armholeHollow)
.curve(points.armholeHollowCp2, points.armholePitchCp1, points.armholePitch)