fix(charlie, titan): Handle bad cross-seam-front and waist-to-seat measurements without crashing
This commit is contained in:
parent
cabf023019
commit
4acf446374
5 changed files with 40 additions and 16 deletions
|
@ -9,6 +9,8 @@ Unreleased:
|
||||||
cathrin:
|
cathrin:
|
||||||
- Allow negative values in backDrop option. Fixes #6563
|
- Allow negative values in backDrop option. Fixes #6563
|
||||||
- Allow negative values for the frontRise options. Fixes #6563
|
- Allow negative values for the frontRise options. Fixes #6563
|
||||||
|
charlie:
|
||||||
|
- Fix crash when drawing the jseamStitchLine is not possible. Fixes #6271
|
||||||
bibi:
|
bibi:
|
||||||
- Changed the algorithm to draft the side seam, so the measurements are followed more precisely
|
- Changed the algorithm to draft the side seam, so the measurements are followed more precisely
|
||||||
- Reduced default influence of the seat back measurement and added an option to adjust it.
|
- Reduced default influence of the seat back measurement and added an option to adjust it.
|
||||||
|
@ -29,7 +31,8 @@ Unreleased:
|
||||||
- Always load plugin-bust due to its changes in how it handle conditionality.
|
- Always load plugin-bust due to its changes in how it handle conditionality.
|
||||||
teagan:
|
teagan:
|
||||||
- Increased default lengthBonus from 5% to 15%. Fixes #6820
|
- Increased default lengthBonus from 5% to 15%. Fixes #6820
|
||||||
|
titan:
|
||||||
|
- Adjust cross seam curves after fitting the waist. Fixes #6271
|
||||||
wahid:
|
wahid:
|
||||||
- Add a warning when waist and hip reduction are both zero, so no back dart is required
|
- Add a warning when waist and hip reduction are both zero, so no back dart is required
|
||||||
|
|
||||||
|
|
|
@ -117,7 +117,9 @@ function draftCharlieFront({
|
||||||
|
|
||||||
// Too small to draw for dolls
|
// Too small to draw for dolls
|
||||||
if (measurements.waist > 500) {
|
if (measurements.waist > 500) {
|
||||||
paths.completeJseam = JseamCurve.split(points.flyBottomSeamLine)[0]
|
const splitElement = JseamCurve.split(points.flyBottomSeamLine)[0]
|
||||||
|
if (splitElement) {
|
||||||
|
paths.completeJseam = splitElement
|
||||||
.clone()
|
.clone()
|
||||||
.setClass('dashed')
|
.setClass('dashed')
|
||||||
.addText('jseamStitchLine', 'center text-sm')
|
.addText('jseamStitchLine', 'center text-sm')
|
||||||
|
@ -133,6 +135,7 @@ function draftCharlieFront({
|
||||||
.setClass('fabric')
|
.setClass('fabric')
|
||||||
.addText('rightLegSeamline', 'center fill-note text-sm')
|
.addText('rightLegSeamline', 'center fill-note text-sm')
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Construct pocket slant
|
// Construct pocket slant
|
||||||
points.slantTop = points.styleWaistIn.shiftFractionTowards(
|
points.slantTop = points.styleWaistIn.shiftFractionTowards(
|
||||||
|
|
|
@ -9,7 +9,11 @@
|
||||||
"crossSeamFitFailedBack.t": "Back cross seam compromised",
|
"crossSeamFitFailedBack.t": "Back cross seam compromised",
|
||||||
"crossSeamFitFailedBack.d": "No solution was found to fit the cross seam in the back part. As a compromise, we've used the best available solution instead.\n\nPlease verify your measurements before contacting support.",
|
"crossSeamFitFailedBack.d": "No solution was found to fit the cross seam in the back part. As a compromise, we've used the best available solution instead.\n\nPlease verify your measurements before contacting support.",
|
||||||
"crossSeamFitFailedFront.t": "Front cross seam compromised",
|
"crossSeamFitFailedFront.t": "Front cross seam compromised",
|
||||||
"crossSeamFitFailedFront.d": "No solution was found to fit the cross seam in the front part. As a compromise, we've used the best available solution instead.\n\nPlease verify your measurements before contacting support."
|
"crossSeamFitFailedFront.d": "No solution was found to fit the cross seam in the front part. As a compromise, we've used the best available solution instead.\n\nPlease verify your measurements before contacting support.",
|
||||||
|
"lowFrontHeight.t": "Front waist too low",
|
||||||
|
"lowFrontHeight.d": "The front cross seam curve was adjusted as the front waistband was unexpectedly low.\n\nThe generated pattern is likely not correct. Please verify your measurements before contacting support.",
|
||||||
|
"lowBackHeight.t": "Back waist too low",
|
||||||
|
"lowBackHeight.d": "The back cross seam curve was adjusted as the back waistband was unexpectedly low.\n\nThe generated pattern is likely not correct. Please verify your measurements before contacting support."
|
||||||
},
|
},
|
||||||
"o": {
|
"o": {
|
||||||
"kneeEase": {
|
"kneeEase": {
|
||||||
|
|
|
@ -226,6 +226,13 @@ function titanBack({
|
||||||
points.waistIn,
|
points.waistIn,
|
||||||
points.crossSeamCurveStart
|
points.crossSeamCurveStart
|
||||||
)
|
)
|
||||||
|
if (points.styleWaistIn.y >= points.crossSeamCurveStart.y) {
|
||||||
|
store.flag.warn({ msg: 'titan:lowBackHeight' })
|
||||||
|
points.crossSeamCurveStart = points.styleWaistIn.shiftFractionTowards(
|
||||||
|
points.crossSeamCurveMax,
|
||||||
|
0.001
|
||||||
|
)
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
points.styleWaistIn = points.waistIn.clone()
|
points.styleWaistIn = points.waistIn.clone()
|
||||||
points.styleWaistOut = points.waistOut.clone()
|
points.styleWaistOut = points.waistOut.clone()
|
||||||
|
|
|
@ -304,6 +304,13 @@ function titanFront({
|
||||||
points.waistIn,
|
points.waistIn,
|
||||||
points.crotchSeamCurveStart
|
points.crotchSeamCurveStart
|
||||||
)
|
)
|
||||||
|
if (points.styleWaistIn.y >= points.crotchSeamCurveStart.y) {
|
||||||
|
store.flag.warn({ msg: 'titan:lowFrontHeight' })
|
||||||
|
points.crotchSeamCurveStart = points.styleWaistIn.shiftFractionTowards(
|
||||||
|
points.crotchSeamCurveMax,
|
||||||
|
0.001
|
||||||
|
)
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
points.styleWaistIn = points.waistIn.clone()
|
points.styleWaistIn = points.waistIn.clone()
|
||||||
points.styleWaistOut = points.waistOut.clone()
|
points.styleWaistOut = points.waistOut.clone()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue