export default function (part) { let { paperless, sa, complete, points, macro, paths, Path, snippets, Snippet } = part.shorthand() // Clean up for (let i of Object.keys(paths)) { if (i !== 'side') delete paths[i] } paths.seam = paths.side.clone().line(points.foldTop).attr('class', 'fabric') paths.seam.render = true if (complete) { points.title = points.innerGuide.shiftFractionTowards(points.outerGuide, 0.5) macro('title', { at: points.title, nr: 2, title: 'side' }) points.logo = points.tipCp2.shiftFractionTowards(points.outerTopCp1, 0.5) snippets.logo = new Snippet('logo', points.logo).attr('data-scale', 0.75) macro('cutonfold', { from: points.foldBottom, to: points.foldTop, offset: 15, grainline: true }) if (sa) { paths.sa = new Path() .move(points.foldTop) .line(points.foldTop.shift(180, sa)) .join(paths.side.offset(sa)) .line(points.foldBottom) .attr('class', 'fabric sa') } if (paperless) { macro('vd', { from: points.tip, to: points.foldBottom, x: points.tip.x + sa + 15 }) macro('vd', { from: points.outerTop, to: points.foldBottom, x: points.tip.x + sa + 30 }) macro('hd', { from: points.foldTop, to: points.foldBottom, y: points.foldTop.y - 15 }) macro('hd', { from: points.foldTop, to: points.outerTop, y: points.outerTop.y + sa + 15 }) macro('hd', { from: points.foldTop, to: points.tip, y: points.outerTop.y + sa + 30 }) } } return part }