1
0
Fork 0

chore: Linter run

This commit is contained in:
joostdecock 2021-09-04 13:27:13 +02:00
parent 8da0b5823d
commit 6d3cee78d9
15 changed files with 152 additions and 167 deletions

View file

@ -11,9 +11,17 @@ export default {
type: 'pattern',
difficulty: 3,
optionGroups: {
fit: ['headEase'],
style: ['lengthRatio', 'goreNumber', 'visorAngle', 'visorWidth','earLength','earWidth','buttonhole'],
advanced:['visorLength'],
fit: ['headEase'],
style: [
'lengthRatio',
'goreNumber',
'visorAngle',
'visorWidth',
'earLength',
'earWidth',
'buttonhole',
],
advanced: ['visorLength'],
},
measurements: ['head'],
dependencies: {},
@ -21,14 +29,14 @@ export default {
hide: [],
parts: ['gore', 'visor', 'ear'],
options: {
headEase: { mm: 19, min: 0, max: 50 },
headEase: { mm: 19, min: 0, max: 50 },
lengthRatio: { pct: 55, min: 40, max: 60 },
goreNumber: { count: 6, min: 4, max: 20 },
visorAngle: { deg: 45, min: 10, max: 90 },
visorWidth: { mm: 30, min: 5, max: 100 },
earLength: { pct: 100, min: 80, max: 150 },
earWidth: { pct: 100, min: 80, max: 150 },
visorLength: { pct: 100, min: 80, max: 150 },
buttonhole: {bool: false}
earLength: { pct: 100, min: 80, max: 150 },
earWidth: { pct: 100, min: 80, max: 150 },
visorLength: { pct: 100, min: 80, max: 150 },
buttonhole: { bool: false },
},
}

View file

@ -15,9 +15,9 @@ export default function (part) {
} = part.shorthand()
// Design pattern here
let headCircumference = measurements.head + options.headEase
let earFlapLength = ((options.lengthRatio * headCircumference) / 2)*options.earLength
let earFlapWidth = (headCircumference / 12)*options.earWidth
let headCircumference = measurements.head + options.headEase
let earFlapLength = ((options.lengthRatio * headCircumference) / 2) * options.earLength
let earFlapWidth = (headCircumference / 12) * options.earWidth
points.top = new Point(0, 0)
points.bottom = new Point(earFlapWidth, earFlapLength)
points.topC = points.top.shift(0, points.bottom.x)
@ -25,14 +25,12 @@ let earFlapWidth = (headCircumference / 12)*options.earWidth
points.topCFlipped = points.topC.flipX()
points.bottomFlipped = points.bottom.flipX()
points.bottomCFlipped = points.bottomC.flipX()
paths.seam = new Path()
paths.seam = new Path()
.move(points.bottom)
.curve(points.bottomC, points.topC, points.top)
.curve(points.bottomC, points.topC, points.top)
.curve(points.topCFlipped, points.bottomCFlipped, points.bottomFlipped)
paths.hem = new Path()
.move(points.bottomFlipped)
.line(points.bottom)
paths.hem = new Path().move(points.bottomFlipped).line(points.bottom)
// Complete?
if (complete) {
@ -42,16 +40,17 @@ let earFlapWidth = (headCircumference / 12)*options.earWidth
points.title = new Point(0.3 * points.bottom.x, 0.75 * points.bottom.y)
macro('title', { at: points.title, nr: 3, title: 'ear flap', scale: 0.5 })
macro('miniscale', { at: new Point(0, points.bottom.y * 0.3) })
if (options.buttonhole){
let buttonholeDistance = (options.lengthRatio * headCircumference) / 2
points.buttonhole = new Point (points.top.x, points.bottom.y - buttonholeDistance)
snippets.buttonhole = new Snippet('buttonhole-start', points.buttonhole).attr('data-scale', 2)
}
if (options.buttonhole) {
let buttonholeDistance = (options.lengthRatio * headCircumference) / 2
points.buttonhole = new Point(points.top.x, points.bottom.y - buttonholeDistance)
snippets.buttonhole = new Snippet('buttonhole-start', points.buttonhole).attr('data-scale', 2)
}
if (sa) {
paths.sa = paths.seam.offset(sa)
.join(paths.hem.offset(sa*2))
.attr('class', 'fabric sa')
.close()
paths.sa = paths.seam
.offset(sa)
.join(paths.hem.offset(sa * 2))
.attr('class', 'fabric sa')
.close()
}
// Paperless?
@ -66,13 +65,13 @@ let earFlapWidth = (headCircumference / 12)*options.earWidth
to: points.top,
x: points.bottomFlipped.x - 15 - sa,
})
if (options.buttonhole){
macro('vd', {
from: points.bottom,
to: points.buttonhole,
x: points.bottom.x + 15 + sa,
})
}
if (options.buttonhole) {
macro('vd', {
from: points.bottom,
to: points.buttonhole,
x: points.bottom.x + 15 + sa,
})
}
}
}
return part

View file

@ -37,19 +37,19 @@ export default function (part) {
.curve(points.gore_Cp1, points.gore_Cp2, points.gore_p2)
.offset(sa)
.setRender(false)
points.sa1 = new Point(points.gore_p3.x - (sa*2), points.gore_p3.y - sa)
paths.saBase = new Path()
.move(points.gore_p3)
points.sa1 = new Point(points.gore_p3.x - sa * 2, points.gore_p3.y - sa)
paths.saBase = new Path()
.move(points.gore_p3)
.line(points.p0)
.offset(sa*2)
.setRender(false)
.offset(sa * 2)
.setRender(false)
paths.sa = new Path()
.move(points.gore_p1)
.line(points.gore_p1.shift(0, sa))
.line(paths.saCurve.start())
.join(paths.saCurve)
.line(points.sa1)
.join(paths.saBase)
.line(points.sa1)
.join(paths.saBase)
.line(points.p0)
.attr('class', 'fabric sa')
}

View file

@ -4,8 +4,8 @@ export default function (part) {
let headCircumference = measurements.head + options.headEase
let headRadius = headCircumference / 2 / Math.PI
let visorRadius = (headRadius / Math.sin((options.visorAngle * Math.PI) / 180))
let sectorAngle = (Math.PI / 3)*options.visorLength
let visorRadius = headRadius / Math.sin((options.visorAngle * Math.PI) / 180)
let sectorAngle = (Math.PI / 3) * options.visorLength
let visorSectorAngle = (sectorAngle * headRadius) / visorRadius
let cpDistance =
((4 / 3) * visorRadius * (1 - Math.cos(visorSectorAngle / 2))) / Math.sin(visorSectorAngle / 2)
@ -13,7 +13,7 @@ export default function (part) {
points.origin = new Point(0, 0)
points.in1 = new Point(0, 0)
points.in2 = points.in1.shift(
((90 / Math.PI) * visorSectorAngle),
(90 / Math.PI) * visorSectorAngle,
2 * visorRadius * Math.sin(visorSectorAngle / 2)
)
//test circle
@ -49,27 +49,26 @@ export default function (part) {
macro('title', { at: points.ex1.shift(45, 20), nr: 2, title: 'visor', scale: 0.4 })
if (sa) {
paths.saInner = new Path ()
.move(points.in2Flipped)
.curve(points.in2CFlipped, points.in1CFlipped, points.in1)
.curve(points.in1C, points.in2C, points.in2)
.offset(sa*-2)
.attr('class', 'fabric sa')
points.sa1 = new Point(points.in2Flipped.x-sa, paths.saInner.start().y)
points.sa2 = new Point(points.in2.x+sa, paths.saInner.start().y)
paths.sa = new Path()
.move(points.in2)
.curve(points.ex2C, points.ex1C, points.ex1)
.curve(points.ex1CFlipped, points.ex2CFlipped, points.in2Flipped)
.offset(sa*-1)
.line(points.sa1)
.join(paths .saInner)
.line(points.sa2)
.close()
.attr('class', 'fabric sa')
paths.saInner = new Path()
.move(points.in2Flipped)
.curve(points.in2CFlipped, points.in1CFlipped, points.in1)
.curve(points.in1C, points.in2C, points.in2)
.offset(sa * -2)
.attr('class', 'fabric sa')
points.sa1 = new Point(points.in2Flipped.x - sa, paths.saInner.start().y)
points.sa2 = new Point(points.in2.x + sa, paths.saInner.start().y)
paths.sa = new Path()
.move(points.in2)
.curve(points.ex2C, points.ex1C, points.ex1)
.curve(points.ex1CFlipped, points.ex2CFlipped, points.in2Flipped)
.offset(sa * -1)
.line(points.sa1)
.join(paths.saInner)
.line(points.sa2)
.close()
.attr('class', 'fabric sa')
}
// Paperless?
if (paperless) {
macro('hd', {

View file

@ -117,7 +117,7 @@ addThing: Añadir {thing}
newThing: Nuevo {thing}
newPatternForModel: 'Nuevo {pattern} para {model}'
noChanges: No hay cambios
no: "no"
no: 'no'
noPasswordPolicy: No aplicamos una política de contraseña
noSeamAllowance: Sin margen de costura
notAllOfThisContentIsAvailableInLanguage: No todo este contenido está disponible en español.
@ -156,7 +156,7 @@ remove: Eliminar
removeThing: Eliminar {thing}
reportThisOnGithub: Notifícalo en GitHub
requiredMeasurements: Medidas requeridas
resendActivationEmailMessage: "Complete la dirección de correo electrónico con la que se registró y le enviaremos un nuevo mensaje de confirmación."
resendActivationEmailMessage: 'Complete la dirección de correo electrónico con la que se registró y le enviaremos un nuevo mensaje de confirmación.'
resendActivationEmail: Reenviar email de activación
resetPassword: Restablecer contraseña
reset: Reiniciar
@ -198,7 +198,7 @@ twitter: Twitter
txt-footer: Freesewing está hecho por una comunidad de colaboradores<br />con el apoyo financiero de nuestros Patrones
txt-tier2: Nuestro nivel más democrático de precios. Puede ser menor que el precio de un café con leche, pero su apoyo significa mucho para nosotros.
txt-tier4: Suscríbase a este nivel y le enviaremos parte de nuestro codiciado botín de diseño gratuito a su hogar en cualquier parte del mundo.
txt-tier8: "Si no solo desea apoyarnos, sino que quiere ver prosperar en la libertad, este es el nivel para usted. También: botín extra!"
txt-tier8: 'Si no solo desea apoyarnos, sino que quiere ver prosperar en la libertad, este es el nivel para usted. También: botín extra!'
txt-tiers: 'FreeSewing es alimentado por un modelo de suscripción voluntario'
unitsInfo: La liberación es compatible con el sistema métrico y las unidades imperiales. Simplemente elige el que te gustaría usar aquí. (El valor predeterminado es utilizar las unidades configuradas en su cuenta).
updated: Actualizado
@ -240,8 +240,8 @@ noPattern: No tienes ningún patrón (todavía). Crea un nuevo patrón, luego gu
modelFirst: Empezar añadiendo mediciones
noModel: No has añadido ninguna medición (aún). La Coser libre puede generar patrones de costura hechos a medida. Pero para eso necesitamos mediciones.
noModel2: Así que lo primero que debes hacer es añadir una persona y agitar tu cinta de medición.
noUserBrowsingTitle: "No puedes navegar por todos los usuarios"
noUserBrowsingText: "Tenemos miles de ellos. ¿Seguro que tienes cosas mejores que hacer?"
noUserBrowsingTitle: 'No puedes navegar por todos los usuarios'
noUserBrowsingText: 'Tenemos miles de ellos. ¿Seguro que tienes cosas mejores que hacer?'
usePatternMeasurements: 'Usar las mediciones del patrón original'
createReplica: Crear una réplica
showDetails: Mostrar detalles

View file

@ -7,7 +7,7 @@ patternType: Tipo de patrón
patternCreated: Tu esqueleto de patrón ha sido creado en
runTheseCommands: Para empezar, ejecuta este comando
startRollup: En una terminal, inicia el paquete de rollup en modo reloj
startWebpack: "Entrará en la carpeta \"ejemplo\" e iniciará el entorno de desarrollo."
startWebpack: 'Entrará en la carpeta "ejemplo" e iniciará el entorno de desarrollo.'
devDocsAvailableAt: Documentación para desarrolladores está disponible en
talkToUs: Para preguntas, comentarios o sugerencias, únete a nuestro servidor de Discord
draftYourPattern: Traza tu patrón

View file

@ -6,7 +6,7 @@ emailchangeHeaderOpeningLine: 'Assurez-vous simplement que nous pouvons vous joi
emailchangeHiddenIntro: 'Confirmons votre nouvelle adresse e-mail'
emailchangeSubject: 'Merci de confirmer votre nouvelle adresse e-mail'
emailchangeTitle: 'Merci de confirmer votre nouvelle adresse e-mail'
emailchangeWhy: 'Vous avez reçu cet e-mail parce que vous avez changé l''adresse e-mail liée à votre compte sur freesewing.org'
emailchangeWhy: "Vous avez reçu cet e-mail parce que vous avez changé l'adresse e-mail liée à votre compte sur freesewing.org"
footerCredits: 'Réalisé par Joost De Cock et ses contributeurs avec le soutien financier de mécènes ❤️ '
footerSlogan: 'Freesewing est une plate-forme open source pour des patrons de couture sur mesure'
goodbyeCopy1: 'Si vous souhaitez expliquer pourquoi vous partez, vous pouvez répondre à ce message.<br>De notre côté, nous ne vous dérangerons plus.'

View file

@ -9,20 +9,8 @@ export default {
type: 'pattern',
difficulty: 3,
optionGroups: {
fit: [
'bicepsEase',
'chestEase',
'cuffEase',
'collarEase',
'shoulderEase',
'hipsEase',
],
style: [
'lengthBonus',
'sleeveLengthBonus',
's3Collar',
's3Armhole',
],
fit: ['bicepsEase', 'chestEase', 'cuffEase', 'collarEase', 'shoulderEase', 'hipsEase'],
style: ['lengthBonus', 'sleeveLengthBonus', 's3Collar', 's3Armhole'],
advanced: [
'acrossBackFactor',
'armholeDepthFactor',

View file

@ -12,7 +12,7 @@ export default function (part) {
paperless,
sa,
options,
measurements
measurements,
} = part.shorthand()
// Clear paths from Brian
@ -36,13 +36,13 @@ export default function (part) {
'backNeckSeamLength',
new Path().move(points.neck).curve_(points.neckCp2, points.cbNeck).length()
)
store.set(
'neckCutoutBack',
points.cbNeck.y
)
store.set('neckCutoutBack', points.cbNeck.y)
// Paths
paths.gussetBase = new Path().move(points.bottom).line(points.armhole).attr('class', 'note stroke-xxl')
paths.gussetBase = new Path()
.move(points.bottom)
.line(points.armhole)
.attr('class', 'note stroke-xxl')
store.set('gussetLength', paths.gussetBase.length())
paths.saBase = new Path()
.move(points.armhole)
@ -52,12 +52,16 @@ export default function (part) {
.line(points.s3CollarSplit)
.join(paths.backCollar)
.attr('class', 'note stroke-xxl')
paths.hemBase = new Path().move(points.cbBottom).line(points.bottom).attr('class', 'note stroke-xxl')
paths.hemBase = new Path()
.move(points.cbBottom)
.line(points.bottom)
.attr('class', 'note stroke-xxl')
paths.gussetBase.render = false
paths.saBase.render = false
paths.hemBase.render = false
paths.seam = paths.gussetBase.join(paths.saBase)
paths.seam = paths.gussetBase
.join(paths.saBase)
.clone()
.line(points.cbBottom)
.join(paths.hemBase)
@ -69,7 +73,7 @@ export default function (part) {
macro('cutonfold', {
from: points.cbNeck,
to: points.cbBottom,
grainline: true
grainline: true,
})
macro('scalebox', { at: new Point(points.armholePitch.x / 2, points.cbWaist.y) })
if (sa) {

View file

@ -14,7 +14,7 @@ export default function (part) {
measurements,
macro,
snippets,
Snippet
Snippet,
} = part.shorthand()
// Clear paths from Brian
@ -31,7 +31,10 @@ export default function (part) {
points.cfBottom = new Point(0, points.cfHem.y * 1.27)
points.bottom = new Point(points.hem.x * 1.23, points.cfBottom.y * 0.97)
points.bottomCp2 = new Point(points.bottom.x, points.cfWaist.y)
points.button = new Point(points.s3CollarSplit.x - 2 / 3 * measurements.shoulderToShoulder, points.s3CollarSplit.y + measurements.hpsToBust * 1.17)
points.button = new Point(
points.s3CollarSplit.x - (2 / 3) * measurements.shoulderToShoulder,
points.s3CollarSplit.y + measurements.hpsToBust * 1.17
)
// end Yuri points
// Store length of the neck seam
@ -42,10 +45,7 @@ export default function (part) {
.curve(points.neckCp2Front, points.cfNeckCp1, points.cfNeck)
.length()
)
store.set(
'neckCutoutFront',
points.cfNeck.y
)
store.set('neckCutoutFront', points.cfNeck.y)
// Paths
paths.saBase = new Path()
@ -61,24 +61,40 @@ export default function (part) {
.line(points.button)
.line(points.cfBottom)
.attr('class', 'note stroke-xxl')
paths.hemBase = new Path().move(points.cfBottom).line(points.bottom).attr('class', 'note stroke-xxl')
paths.hemBase = new Path()
.move(points.cfBottom)
.line(points.bottom)
.attr('class', 'note stroke-xxl')
paths.saBase.render = false
paths.hemBase.render = false
paths.buttonBase.render = false
paths.seam = paths.saBase.clone().join(paths.buttonBase).join(paths.hemBase).close().attr('class', 'fabric')
paths.seam = paths.saBase
.clone()
.join(paths.buttonBase)
.join(paths.hemBase)
.close()
.attr('class', 'fabric')
// Complete?
if (complete) {
macro('grainline', {
from: points.s3CollarSplit,
to: new Point(points.s3CollarSplit.x, points.bottom.y)
to: new Point(points.s3CollarSplit.x, points.bottom.y),
})
snippets.buttonhole = new Snippet('buttonhole-start', points.button.shift(0, 25)).attr('data-rotate', '90').attr('data-scale', '2.5')
snippets.button = new Snippet('button', paths.buttonBase.shiftFractionAlong(0.146).shift(0, 30)).attr('data-scale', '3.3')
snippets.buttonhole = new Snippet('buttonhole-start', points.button.shift(0, 25))
.attr('data-rotate', '90')
.attr('data-scale', '2.5')
snippets.button = new Snippet(
'button',
paths.buttonBase.shiftFractionAlong(0.146).shift(0, 30)
).attr('data-scale', '3.3')
if (sa) {
paths.sa = paths.hemBase.offset(3 * sa).join(paths.saBase.offset(sa)).join(paths.buttonBase.offset(3 * sa))
paths.sa = paths.hemBase
.offset(3 * sa)
.join(paths.saBase.offset(sa))
.join(paths.buttonBase.offset(3 * sa))
paths.sa = paths.sa.line(paths.sa.start()).close().attr('class', 'fabric sa')
}
}

View file

@ -1,25 +1,14 @@
export default function (part) {
const {
Point,
Path,
points,
paths,
Snippet,
snippets,
complete,
sa,
paperless,
macro,
store
} = part.shorthand()
const { Point, Path, points, paths, Snippet, snippets, complete, sa, paperless, macro, store } =
part.shorthand()
const w = store.get('gussetLength')
points.top = new Point(0, 0)
points.bottom = new Point(0, w)
points.right = points.bottom.rotate(36.0, points.top)
points.cp1 = new Point(0, w * 6 / 5).rotate(90, points.bottom)
points.cp2 = new Point(points.right.x, points.right.y * 6 / 5).rotate(-60, points.right)
points.title = new Point(0, 2 * w / 3).rotate(15, points.top)
points.cp1 = new Point(0, (w * 6) / 5).rotate(90, points.bottom)
points.cp2 = new Point(points.right.x, (points.right.y * 6) / 5).rotate(-60, points.right)
points.title = new Point(0, (2 * w) / 3).rotate(15, points.top)
paths.hat = new Path()
.move(points.right)
@ -39,17 +28,20 @@ export default function (part) {
macro('cutonfold', {
from: new Point(points.top.x, points.top.y + 50),
to: points.bottom,
grainline: true
grainline: true,
})
macro('title', {
at: points.title,
nr: 4,
title: 'gusset'
title: 'gusset',
})
points.logo = points.title.shift(-75, 100)
snippets.logo = new Snippet('logo', points.logo)
if (sa) {
paths.sa = paths.hat.offset(sa).join(paths.curve.offset(3 * sa)).attr('class', 'fabric sa')
paths.sa = paths.hat
.offset(sa)
.join(paths.curve.offset(3 * sa))
.attr('class', 'fabric sa')
}
}
@ -58,23 +50,23 @@ export default function (part) {
macro('vd', {
from: points.top,
to: points.bottom,
x: points.top.x - sa - 15
x: points.top.x - sa - 15,
})
macro('vd', {
from: new Point(0, points.right.y),
to: points.bottom,
x: 20
x: 20,
})
macro('ld', {
from: points.top,
to: points.right,
d: sa + 15
d: sa + 15,
})
macro('hd', {
from: new Point(0, points.right),
to: points.right,
y: points.right.y
y: points.right.y,
})
}

View file

@ -1,16 +1,6 @@
export default function (part) {
const {
store,
sa,
Point,
points,
Path,
paths,
complete,
paperless,
macro,
units
} = part.shorthand()
const { store, sa, Point, points, Path, paths, complete, paperless, macro, units } =
part.shorthand()
const width = store.get('hoodCenterWidth')
const length = complete ? width * 2.5 : store.get('hoodCenterLength')
@ -59,21 +49,21 @@ export default function (part) {
macro('title', { at: points.title, nr: 6, title: 'hoodCenter' })
macro('grainline', {
from: points.topLeft.shift(-90, width / 2),
to: points.topRight.shift(-90, width / 2)
to: points.topRight.shift(-90, width / 2),
})
// Always include this dimension as we don't print the entire part
macro('hd', {
from: points.bottomLeft,
to: points.bottomRight,
y: points.bottomRight.y + sa + 15,
text: units(store.get('hoodCenterLength'))
text: units(store.get('hoodCenterLength')),
})
// Paperless?
if (paperless) {
macro('vd', {
from: points.bottomRight,
to: points.topRight,
x: points.topRight.x + sa + 15
x: points.topRight.x + sa + 15,
})
}
}

View file

@ -11,7 +11,7 @@ export default function (part) {
measurements,
complete,
paperless,
macro
macro,
} = part.shorthand()
const neckOpening = store.get('frontNeckSeamLength') + store.get('backNeckSeamLength')
@ -86,7 +86,7 @@ export default function (part) {
snippets.logo = new Snippet('logo', points.logo)
macro('grainline', {
from: points.shoulderNotch,
to: points.hoodTop
to: points.hoodTop,
})
}
@ -107,41 +107,41 @@ export default function (part) {
macro('pd', {
path: neckSeam[0],
d: sa + 15
d: sa + 15,
})
macro('pd', {
path: neckSeam[1],
d: sa + 15
d: sa + 15,
})
macro('pd', {
path: centralSeam,
d: sa * -1 - 15
d: sa * -1 - 15,
})
macro('hd', {
from: points.neckEdge,
to: points.frontEdge,
y: points.frontEdge.y + sa + 30
y: points.frontEdge.y + sa + 30,
})
macro('hd', {
from: centralSeam.edge('left'),
to: points.frontEdge,
y: points.frontEdge.y + sa + 45
y: points.frontEdge.y + sa + 45,
})
const openingEdge = openingSeam.edge('left')
macro('hd', {
from: openingEdge,
to: points.frontEdge,
y: openingEdge.y
y: openingEdge.y,
})
macro('vd', {
from: points.frontEdge,
to: points.hoodRim,
x: points.hoodRim.x + sa + 15
x: points.hoodRim.x + sa + 15,
})
macro('vd', {
from: points.frontEdge,
to: points.hoodTop,
x: points.hoodRim.x + sa + 30
x: points.hoodRim.x + sa + 30,
})
}

View file

@ -117,4 +117,3 @@ export const sharedDimensions = function (part, s) {
})
}
}

View file

@ -1,16 +1,6 @@
export default function (part) {
let {
Point,
Path,
points,
paths,
store,
options,
complete,
sa,
paperless,
macro,
} = part.shorthand()
let { Point, Path, points, paths, store, options, complete, sa, paperless, macro } =
part.shorthand()
// Clear paths from Brian, but keep sleevecap
for (let p of Object.keys(paths)) {