chore(examples): Port to v3 stage 2
This commit is contained in:
parent
c20f06cc94
commit
b14db2f1d2
9 changed files with 223 additions and 404 deletions
|
@ -2,9 +2,7 @@ import { box } from './shared.mjs'
|
|||
|
||||
export const docs_coords = {
|
||||
name: 'examples.box_coords',
|
||||
draft: part => {
|
||||
const { Point, points, paths, Path } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, paths, Path, part }) => {
|
||||
points.origin = new Point(10, 10)
|
||||
points.x = new Point(100, 10)
|
||||
points.y = new Point(10, 50)
|
||||
|
@ -19,14 +17,12 @@ export const docs_coords = {
|
|||
.attr('marker-end', 'url(#dimensionTo)')
|
||||
|
||||
return box(part, 100, 50)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const docs_overview = {
|
||||
name: 'examples.docs_overview',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths, options } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, options, part }) => {
|
||||
/**
|
||||
* Returs the value passed to it randomized with a given tolerance
|
||||
*/
|
||||
|
@ -295,7 +291,10 @@ export const docs_overview = {
|
|||
drawBox('settings', -100, 6, 40, 20)
|
||||
drawBox('draft', 80, 3, 20, 25)
|
||||
|
||||
points.arrow1From = points.settingsTopRight.shiftFractionTowards(points.settingsBottomRight, 0.5)
|
||||
points.arrow1From = points.settingsTopRight.shiftFractionTowards(
|
||||
points.settingsBottomRight,
|
||||
0.5
|
||||
)
|
||||
points.arrow1To = points.PatternTopLeft.shiftFractionTowards(points.PatternBottomLeft, 0.5)
|
||||
paths.arrow1 = arrow('arrow1')
|
||||
points.arrow2From = points.PatternTopRight.shiftFractionTowards(points.PatternBottomRight, 0.5)
|
||||
|
@ -318,6 +317,5 @@ export const docs_overview = {
|
|||
.attr('class', 'hidden')
|
||||
|
||||
return part
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,7 +2,6 @@ import { Design } from '@freesewing/core'
|
|||
import { pluginBundle } from '@freesewing/plugin-bundle'
|
||||
import { gorePlugin } from '@freesewing/plugin-gore'
|
||||
import { data } from '../data.mjs'
|
||||
import config from '../config/'
|
||||
|
||||
// Path API
|
||||
import {
|
||||
|
@ -116,12 +115,10 @@ import { settings_sa } from './settings.mjs'
|
|||
// Docs illustrations
|
||||
import { docs_coords, docs_overview } from './docs.mjs'
|
||||
|
||||
|
||||
// Setup our new design
|
||||
const Examples = new Design({
|
||||
data,
|
||||
parts: [
|
||||
|
||||
// Path API
|
||||
path__curve,
|
||||
path_attr,
|
||||
|
@ -322,6 +319,5 @@ export {
|
|||
snippet_snapsocket,
|
||||
snippet_snapstud,
|
||||
snippet_logo,
|
||||
Examples
|
||||
Examples,
|
||||
}
|
||||
|
||||
|
|
|
@ -2,9 +2,7 @@ import { box } from './shared.mjs'
|
|||
|
||||
export const path__curve = {
|
||||
name: 'examples.path__curve',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, part }) => {
|
||||
points.from = new Point(5, 20)
|
||||
points.cp2 = new Point(60, 30)
|
||||
points.to = new Point(90, 20)
|
||||
|
@ -16,14 +14,12 @@ export const path__curve = {
|
|||
.attr('data-text-class', 'text-sm center fill-note')
|
||||
|
||||
return box(part, 100, 25)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const path_attr = {
|
||||
name: 'examples.path_attr',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, part }) => {
|
||||
points.B = new Point(10, 50)
|
||||
points.BCp2 = new Point(40, 10)
|
||||
points.C = new Point(90, 30)
|
||||
|
@ -37,21 +33,22 @@ export const path_attr = {
|
|||
.attr('data-text-class', 'text-xs center')
|
||||
|
||||
return part
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const path_clone = {
|
||||
name: 'examples.path_clone',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, part }) => {
|
||||
points.A = new Point(45, 60)
|
||||
points.B = new Point(10, 30)
|
||||
points.BCp2 = new Point(40, 20)
|
||||
points.C = new Point(90, 30)
|
||||
points.CCp1 = new Point(50, -30)
|
||||
|
||||
paths.example = new Path().move(points.A).line(points.B).curve(points.BCp2, points.CCp1, points.C)
|
||||
paths.example = new Path()
|
||||
.move(points.A)
|
||||
.line(points.B)
|
||||
.curve(points.BCp2, points.CCp1, points.C)
|
||||
|
||||
paths.clone = paths.example
|
||||
.clone()
|
||||
|
@ -59,15 +56,12 @@ export const path_clone = {
|
|||
.attr('style', 'stroke-opacity: 0.5')
|
||||
|
||||
return part
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
export const path_close = {
|
||||
name: 'examples.path_close',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, part }) => {
|
||||
points.from = new Point(10, 20)
|
||||
points.cp2 = new Point(60, 30)
|
||||
points.to = new Point(90, 20)
|
||||
|
@ -81,15 +75,12 @@ export const path_close = {
|
|||
.attr('data-text-class', 'text-sm right fill-note')
|
||||
|
||||
return box(part, 100, 25)
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
export const path_curve = {
|
||||
name: 'examples.path_curve',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, part }) => {
|
||||
points.from = new Point(10, 20)
|
||||
points.cp1 = new Point(40, 0)
|
||||
points.cp2 = new Point(60, 30)
|
||||
|
@ -102,14 +93,12 @@ export const path_curve = {
|
|||
.attr('data-text-class', 'text-sm center fill-note')
|
||||
|
||||
return box(part, 100, 25)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const path_curve_ = {
|
||||
name: 'examples.path_curve_',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, part }) => {
|
||||
points.from = new Point(10, 20)
|
||||
points.cp1 = new Point(40, 0)
|
||||
points.to = new Point(90, 20)
|
||||
|
@ -121,14 +110,12 @@ export const path_curve_ = {
|
|||
.attr('data-text-class', 'text-sm center fill-note')
|
||||
|
||||
return box(part, 100, 25)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const path_divide = {
|
||||
name: 'examples.path_divide',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, part }) => {
|
||||
points.A = new Point(55, 40)
|
||||
points.B = new Point(10, 70)
|
||||
points.BCp2 = new Point(40, 20)
|
||||
|
@ -152,14 +139,12 @@ export const path_divide = {
|
|||
}
|
||||
|
||||
return part
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const path_edge = {
|
||||
name: 'examples.path_edge',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths, Snippet, snippets } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, Snippet, snippets, part }) => {
|
||||
points.A = new Point(45, 60)
|
||||
points.B = new Point(10, 30)
|
||||
points.BCp2 = new Point(40, 20)
|
||||
|
@ -188,14 +173,12 @@ export const path_edge = {
|
|||
snippets[i] = new Snippet('notch', paths.demo.edge(i))
|
||||
|
||||
return part
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const path_end = {
|
||||
name: 'examples.path_end',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths, Snippet, snippets } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, Snippet, snippets, part }) => {
|
||||
points.A = new Point(45, 60)
|
||||
points.B = new Point(10, 30)
|
||||
points.BCp2 = new Point(40, 20)
|
||||
|
@ -207,15 +190,12 @@ export const path_end = {
|
|||
snippets.end = new Snippet('notch', paths.demo.end())
|
||||
|
||||
return part
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
export const path_intersects = {
|
||||
name: 'examples.path_intersects',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths, Snippet, snippets } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, Snippet, snippets, part }) => {
|
||||
points.A = new Point(45, 60)
|
||||
points.B = new Point(10, 30)
|
||||
points.BCp2 = new Point(40, 20)
|
||||
|
@ -248,14 +228,12 @@ export const path_intersects = {
|
|||
}
|
||||
|
||||
return part
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const path_intersectsx = {
|
||||
name: 'examples.path_intersectsx',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths, Snippet, snippets } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, Snippet, snippets, part }) => {
|
||||
points.A = new Point(95, 50)
|
||||
points.B = new Point(10, 30)
|
||||
points.BCp2 = new Point(40, 20)
|
||||
|
@ -280,14 +258,12 @@ export const path_intersectsx = {
|
|||
}
|
||||
|
||||
return part
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const path_intersectsy = {
|
||||
name: 'examples.path_intersectsy',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths, Snippet, snippets } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, Snippet, snippets, part }) => {
|
||||
points.A = new Point(55, 40)
|
||||
points.B = new Point(10, 70)
|
||||
points.BCp2 = new Point(40, 20)
|
||||
|
@ -311,15 +287,12 @@ export const path_intersectsy = {
|
|||
}
|
||||
|
||||
return part
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
export const path_join = {
|
||||
name: 'examples.path_join',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, part }) => {
|
||||
points.A = new Point(45, 60)
|
||||
points.B = new Point(10, 30)
|
||||
points.BCp2 = new Point(40, 20)
|
||||
|
@ -339,21 +312,22 @@ export const path_join = {
|
|||
.attr('style', 'stroke-opacity: 0.5')
|
||||
|
||||
return part
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const path_length = {
|
||||
name: 'examples.path_length',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths, macro } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, macro, part }) => {
|
||||
points.A = new Point(45, 60)
|
||||
points.B = new Point(10, 30)
|
||||
points.BCp2 = new Point(40, 20)
|
||||
points.C = new Point(90, 30)
|
||||
points.CCp1 = new Point(50, -30)
|
||||
|
||||
paths.example = new Path().move(points.A).line(points.B).curve(points.BCp2, points.CCp1, points.C)
|
||||
paths.example = new Path()
|
||||
.move(points.A)
|
||||
.line(points.B)
|
||||
.curve(points.BCp2, points.CCp1, points.C)
|
||||
|
||||
macro('pd', {
|
||||
path: paths.example,
|
||||
|
@ -371,14 +345,12 @@ export const path_length = {
|
|||
})
|
||||
|
||||
return part
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const path_line = {
|
||||
name: 'examples.path_line',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, part }) => {
|
||||
points.from = new Point(10, 10)
|
||||
points.to = new Point(90, 10)
|
||||
|
||||
|
@ -389,14 +361,12 @@ export const path_line = {
|
|||
.attr('data-text-class', 'text-sm center fill-note')
|
||||
|
||||
return box(part, 100, 15)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const path_move = {
|
||||
name: 'examples.path_move',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, part }) => {
|
||||
points.to = new Point(50, 10)
|
||||
.attr('data-text', 'Path.move()')
|
||||
.attr('data-text-class', 'fill-note center')
|
||||
|
@ -404,14 +374,12 @@ export const path_move = {
|
|||
paths.noline = new Path().move(points.to)
|
||||
|
||||
return box(part, 100, 15)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const path_noop = {
|
||||
name: 'examples.path_noop',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, part }) => {
|
||||
points.left = new Point(10, 10)
|
||||
points.dartLeft = new Point(40, 10)
|
||||
points.dartTip = new Point(50, 50)
|
||||
|
@ -425,23 +393,16 @@ export const path_noop = {
|
|||
.line(points.right)
|
||||
|
||||
paths.withDart = paths.without
|
||||
.insop(
|
||||
'dart',
|
||||
new Path()
|
||||
.line(points.dartTip)
|
||||
.line(points.dartRight)
|
||||
)
|
||||
.insop('dart', new Path().line(points.dartTip).line(points.dartRight))
|
||||
.attr('style', 'stroke-width: 2px; stroke-opacity: 0.5; stroke: orange;')
|
||||
|
||||
return part
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const path_offset = {
|
||||
name: 'examples.path_offset',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, part }) => {
|
||||
points.A = new Point(45, 60)
|
||||
points.B = new Point(10, 30)
|
||||
points.BCp2 = new Point(40, 20)
|
||||
|
@ -466,14 +427,12 @@ export const path_offset = {
|
|||
.attr('class', 'canvas')
|
||||
|
||||
return part
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const path_ops = {
|
||||
name: 'examples.path_ops',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths, options } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, options, part }) => {
|
||||
const textClasses = (label) =>
|
||||
options.focus === label ? 'center text-xs fill-note' : 'center text-xs'
|
||||
|
||||
|
@ -522,14 +481,12 @@ export const path_ops = {
|
|||
paths.example = paths.line.join(paths.curve).join(paths._curve).join(paths.curve_).close()
|
||||
|
||||
return part
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const path_reverse = {
|
||||
name: 'examples.path_reverse',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, part }) => {
|
||||
points.B = new Point(10, 30)
|
||||
points.BCp2 = new Point(40, 20)
|
||||
points.C = new Point(90, 30)
|
||||
|
@ -547,21 +504,22 @@ export const path_reverse = {
|
|||
.attr('data-text-class', 'text-xs fill-lining')
|
||||
|
||||
return part
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const path_shiftalong = {
|
||||
name: 'examples.path_shiftalong',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths, Snippet, snippets } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, Snippet, snippets, part }) => {
|
||||
points.A = new Point(45, 60)
|
||||
points.B = new Point(10, 30)
|
||||
points.BCp2 = new Point(40, 20)
|
||||
points.C = new Point(90, 30)
|
||||
points.CCp1 = new Point(50, -30)
|
||||
|
||||
paths.example = new Path().move(points.A).line(points.B).curve(points.BCp2, points.CCp1, points.C)
|
||||
paths.example = new Path()
|
||||
.move(points.A)
|
||||
.line(points.B)
|
||||
.curve(points.BCp2, points.CCp1, points.C)
|
||||
|
||||
points.x1 = paths.example
|
||||
.shiftAlong(20)
|
||||
|
@ -578,21 +536,22 @@ export const path_shiftalong = {
|
|||
snippets.x2 = new Snippet('notch', points.x2)
|
||||
|
||||
return part
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const path_shiftfractionalong = {
|
||||
name: 'examples.path_shiftfractionalong',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths, Snippet, snippets } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, Snippet, snippets, part }) => {
|
||||
points.A = new Point(45, 60)
|
||||
points.B = new Point(10, 30)
|
||||
points.BCp2 = new Point(40, 20)
|
||||
points.C = new Point(90, 30)
|
||||
points.CCp1 = new Point(50, -30)
|
||||
|
||||
paths.example = new Path().move(points.A).line(points.B).curve(points.BCp2, points.CCp1, points.C)
|
||||
paths.example = new Path()
|
||||
.move(points.A)
|
||||
.line(points.B)
|
||||
.curve(points.BCp2, points.CCp1, points.C)
|
||||
|
||||
points.x1 = paths.example
|
||||
.shiftFractionAlong(0.2)
|
||||
|
@ -609,14 +568,12 @@ export const path_shiftfractionalong = {
|
|||
snippets.x2 = new Snippet('notch', points.x2)
|
||||
|
||||
return part
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const path_split = {
|
||||
name: 'examples.path_split',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths, Snippet, snippets } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, Snippet, snippets, part }) => {
|
||||
points.A = new Point(45, 60)
|
||||
points.B = new Point(10, 30)
|
||||
points.BCp2 = new Point(40, 20)
|
||||
|
@ -641,32 +598,31 @@ export const path_split = {
|
|||
}
|
||||
|
||||
return part
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const path_start = {
|
||||
name: 'examples.path_start',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths, Snippet, snippets } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, Snippet, snippets, part }) => {
|
||||
points.A = new Point(45, 60)
|
||||
points.B = new Point(10, 30)
|
||||
points.BCp2 = new Point(40, 20)
|
||||
points.C = new Point(90, 30)
|
||||
points.CCp1 = new Point(50, -30)
|
||||
|
||||
paths.example = new Path().move(points.A).line(points.B).curve(points.BCp2, points.CCp1, points.C)
|
||||
paths.example = new Path()
|
||||
.move(points.A)
|
||||
.line(points.B)
|
||||
.curve(points.BCp2, points.CCp1, points.C)
|
||||
|
||||
snippets.start = new Snippet('notch', paths.example.start())
|
||||
return part
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const path_translate = {
|
||||
name: 'examples.path_translate',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths, macro } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, macro, part }) => {
|
||||
points.A = new Point(45, 60)
|
||||
points.B = new Point(10, 30)
|
||||
points.BCp2 = new Point(40, 20)
|
||||
|
@ -691,14 +647,12 @@ export const path_translate = {
|
|||
})
|
||||
|
||||
return part
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const path_trim = {
|
||||
name: 'examples.path_trim',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, part }) => {
|
||||
points.center = new Point(0, 0)
|
||||
points.base = new Point(0, 10)
|
||||
points.tip = new Point(0, 50)
|
||||
|
@ -731,6 +685,5 @@ export const path_trim = {
|
|||
.attr('class', 'various stroke-xl')
|
||||
.attr('style', 'stroke-opacity: 0.5;')
|
||||
return part
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,9 +2,7 @@ import { box } from './shared.mjs'
|
|||
|
||||
export const plugin_banner = {
|
||||
name: 'examples.plugin_banner',
|
||||
draft: part => {
|
||||
const { points, Point, paths, Path, macro } = part.shorthand()
|
||||
|
||||
draft: ({ points, Point, paths, Path, macro, part }) => {
|
||||
points.from = new Point(0, 0)
|
||||
points.to = new Point(320, 0)
|
||||
|
||||
|
@ -19,15 +17,12 @@ export const plugin_banner = {
|
|||
paths.box = new Path().move(new Point(0, -20)).line(new Point(0, 20)).attr('class', 'hidden')
|
||||
|
||||
return part
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
export const plugin_bartack = {
|
||||
name: 'examples.plugin_bartack',
|
||||
draft: part => {
|
||||
const { Point, points, macro } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, macro, part }) => {
|
||||
points.a = new Point(15, 15)
|
||||
|
||||
macro('bartack', {
|
||||
|
@ -37,14 +32,12 @@ export const plugin_bartack = {
|
|||
})
|
||||
|
||||
return box(part, 60, 30)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const plugin_bartackalong = {
|
||||
name: 'examples.plugin_bartackalong',
|
||||
draft: part => {
|
||||
const { Point, Path, points, paths, macro } = part.shorthand()
|
||||
|
||||
draft: ({ Point, Path, points, paths, macro, part }) => {
|
||||
points.a = new Point(15, 15)
|
||||
points.b = new Point(20, 20)
|
||||
points.c = new Point(30, 20)
|
||||
|
@ -64,14 +57,12 @@ export const plugin_bartackalong = {
|
|||
})
|
||||
|
||||
return box(part, 60, 30)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const plugin_bartackfractionalong = {
|
||||
name: 'examples.plugin_bartackfractionalong',
|
||||
draft: part => {
|
||||
const { Point, Path, points, paths, macro } = part.shorthand()
|
||||
|
||||
draft: ({ Point, Path, points, paths, macro, part }) => {
|
||||
points.a = new Point(15, 15)
|
||||
points.b = new Point(20, 20)
|
||||
points.c = new Point(30, 20)
|
||||
|
@ -93,14 +84,12 @@ export const plugin_bartackfractionalong = {
|
|||
})
|
||||
|
||||
return box(part, 60, 30)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const plugin_buttons = {
|
||||
name: 'examples.plugin_buttons',
|
||||
draft: part => {
|
||||
const { Point, snippets, Snippet } = part.shorthand()
|
||||
|
||||
draft: ({ Point, snippets, Snippet, part }) => {
|
||||
snippets.button = new Snippet('button', new Point(20, 10))
|
||||
snippets.buttonhole = new Snippet('buttonhole', new Point(40, 10))
|
||||
snippets.buttonholeStart = new Snippet('buttonhole-start', new Point(60, 10))
|
||||
|
@ -109,14 +98,12 @@ export const plugin_buttons = {
|
|||
snippets.snapFemale = new Snippet('snap-socket', new Point(120, 10))
|
||||
|
||||
return box(part, 140, 20)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const plugin_cutonfold = {
|
||||
name: 'examples.plugin_cutonfold',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths, macro } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, macro, part }) => {
|
||||
points.topLeft = new Point(0, 0)
|
||||
points.topRight = new Point(150, 0)
|
||||
points.bottomRight = new Point(150, 30)
|
||||
|
@ -136,14 +123,12 @@ export const plugin_cutonfold = {
|
|||
})
|
||||
|
||||
return part
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const plugin_dimension = {
|
||||
name: 'examples.plugin_dimension',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths, macro } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, macro, part }) => {
|
||||
points.A = new Point(0, 0)
|
||||
points.B = new Point(0, 100)
|
||||
points.C = new Point(50, 100)
|
||||
|
@ -189,14 +174,12 @@ export const plugin_dimension = {
|
|||
})
|
||||
|
||||
return part
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const plugin_gore = {
|
||||
name: 'examples.plugin_gore',
|
||||
draft: part => {
|
||||
const { Point, points, macro } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, macro, part }) => {
|
||||
points.anchor = new Point(0, 0)
|
||||
|
||||
macro('gore', {
|
||||
|
@ -208,14 +191,12 @@ export const plugin_gore = {
|
|||
})
|
||||
|
||||
return part
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const plugin_grainline = {
|
||||
name: 'examples.plugin_grainline',
|
||||
draft: part => {
|
||||
const { Point, points, macro } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, macro, part }) => {
|
||||
points.grainlineFrom = new Point(10, 10)
|
||||
points.grainlineTo = new Point(100, 10)
|
||||
|
||||
|
@ -225,26 +206,23 @@ export const plugin_grainline = {
|
|||
})
|
||||
|
||||
return box(part, 110, 15)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const plugin_logo = {
|
||||
name: 'examples.plugin_logo',
|
||||
draft: part => {
|
||||
const { points, Point, snippets, Snippet } = part.shorthand()
|
||||
draft: ({ points, Point, snippets, Snippet, part }) => {
|
||||
points.anchor = new Point(50, 25)
|
||||
|
||||
snippets.logo = new Snippet('logo', points.anchor).attr('data-scale', 0.666)
|
||||
|
||||
return box(part, 100, 35)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const plugin_mirror = {
|
||||
name: 'examples.plugin_mirror',
|
||||
draft: part => {
|
||||
const { Point, Path, points, paths, macro } = part.shorthand()
|
||||
|
||||
draft: ({ Point, Path, points, paths, macro, part }) => {
|
||||
points.a = new Point(5, 5)
|
||||
points.b = new Point(45, 30)
|
||||
points.c = new Point(5, 30)
|
||||
|
@ -265,26 +243,22 @@ export const plugin_mirror = {
|
|||
})
|
||||
|
||||
return box(part, 100, 40)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const plugin_notches = {
|
||||
name: 'examples.plugin_notches',
|
||||
draft: part => {
|
||||
const { Point, snippets, Snippet } = part.shorthand()
|
||||
|
||||
draft: ({ Point, snippets, Snippet, part }) => {
|
||||
snippets.notch = new Snippet('notch', new Point(60, 10))
|
||||
snippets.bnotch = new Snippet('bnotch', new Point(80, 10))
|
||||
|
||||
return box(part, 140, 20)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const plugin_round = {
|
||||
name: 'examples.plugin_round',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths, macro } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, macro, part }) => {
|
||||
points.topLeft = new Point(0, 0)
|
||||
points.bottomLeft = new Point(0, 30)
|
||||
points.topRight = new Point(100, 0)
|
||||
|
@ -316,14 +290,12 @@ export const plugin_round = {
|
|||
})
|
||||
|
||||
return part
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const plugin_scalebox = {
|
||||
name: 'examples.plugin_scalebox',
|
||||
draft: part => {
|
||||
const { Point, points, macro } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, macro, part }) => {
|
||||
points.anchor1 = new Point(0, 0)
|
||||
points.anchor2 = new Point(70, 0)
|
||||
|
||||
|
@ -331,14 +303,12 @@ export const plugin_scalebox = {
|
|||
macro('miniscale', { at: points.anchor2 })
|
||||
|
||||
return part
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const plugin_sprinkle = {
|
||||
name: 'examples.plugin_sprinkle',
|
||||
draft: part => {
|
||||
const { Point, points, macro } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, macro, part }) => {
|
||||
points.a = new Point(10, 10)
|
||||
points.b = new Point(20, 15)
|
||||
points.c = new Point(30, 10)
|
||||
|
@ -355,14 +325,12 @@ export const plugin_sprinkle = {
|
|||
})
|
||||
|
||||
return box(part, 100, 25)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const plugin_title = {
|
||||
name: 'examples.plugin_title',
|
||||
draft: part => {
|
||||
const { Point, points, macro } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, macro, part }) => {
|
||||
points.title = new Point(90, 45)
|
||||
|
||||
macro('title', {
|
||||
|
@ -373,6 +341,5 @@ export const plugin_title = {
|
|||
})
|
||||
|
||||
return box(part, 200, 70)
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,9 +2,7 @@ import { box } from './shared.mjs'
|
|||
|
||||
export const point_angle = {
|
||||
name: 'examples.point_angle',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, part }) => {
|
||||
points.sun = new Point(10, 5)
|
||||
points.moon = points.sun.shift(-15, 70)
|
||||
points.text = points.sun
|
||||
|
@ -15,27 +13,23 @@ export const point_angle = {
|
|||
paths.line = new Path().move(points.sun).line(points.moon).attr('class', 'dashed')
|
||||
|
||||
return part
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const point_attr = {
|
||||
name: 'examples.point_attr',
|
||||
draft: part => {
|
||||
const { Point, points } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, part }) => {
|
||||
points.anchor = new Point(100, 25)
|
||||
.attr('data-text', 'supportFreesewingBecomeAPatron')
|
||||
.attr('data-text-class', 'center')
|
||||
|
||||
return box(part, 200, 50)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const point_clone = {
|
||||
name: 'examples.point_clone',
|
||||
draft: part => {
|
||||
const { Point, points, Snippet, snippets } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Snippet, snippets, part }) => {
|
||||
points.A = new Point(25, 25)
|
||||
.attr('data-text', 'Point A')
|
||||
.attr('data-text-class', 'text-xl')
|
||||
|
@ -45,28 +39,24 @@ export const point_clone = {
|
|||
snippets.x = new Snippet('notch', points.A)
|
||||
|
||||
return box(part)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const point_copy = {
|
||||
name: 'examples.point_copy',
|
||||
draft: part => {
|
||||
const { Point, points, Snippet, snippets } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Snippet, snippets, part }) => {
|
||||
points.A = new Point(50, 25).attr('data-text', 'Point A').attr('data-text-class', 'text-xl')
|
||||
points.B = points.A.copy().attr('data-text', 'Point B')
|
||||
|
||||
snippets.x = new Snippet('notch', points.A)
|
||||
|
||||
return box(part)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const point_dist = {
|
||||
name: 'examples.point_dist',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, part }) => {
|
||||
points.from = new Point(10, 10)
|
||||
points.to = new Point(80, 70)
|
||||
|
||||
|
@ -78,14 +68,12 @@ export const point_dist = {
|
|||
paths.line = new Path().move(points.from).line(points.to).attr('class', 'dashed')
|
||||
|
||||
return part
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const point_dx = {
|
||||
name: 'examples.point_dx',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, part }) => {
|
||||
points.from = new Point(10, 10)
|
||||
points.to = new Point(80, 70)
|
||||
|
||||
|
@ -104,14 +92,12 @@ export const point_dx = {
|
|||
paths.line_dy = new Path().move(points.to).line(points.totop).attr('class', 'dashed')
|
||||
|
||||
return part
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const point_dy = {
|
||||
name: 'examples.point_dy',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, part }) => {
|
||||
points.from = new Point(10, 10)
|
||||
points.to = new Point(80, 70)
|
||||
|
||||
|
@ -129,14 +115,12 @@ export const point_dy = {
|
|||
paths.line_dy = new Path().move(points.to).line(points.totop).attr('class', 'dashed')
|
||||
|
||||
return part
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const point_flipx = {
|
||||
name: 'examples.point_flipy',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, part }) => {
|
||||
points.top = new Point(50, 10)
|
||||
points.out1 = new Point(70, 30)
|
||||
points.in1 = new Point(55, 35)
|
||||
|
@ -178,14 +162,12 @@ export const point_flipx = {
|
|||
paths.mirror = new Path().move(points.top).line(points.bottom).attr('class', 'note dashed')
|
||||
|
||||
return part
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const point_flipy = {
|
||||
name: 'examples.point_flipy',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, part }) => {
|
||||
points.start = new Point(0, 50)
|
||||
points.churchTowerWallLeft = new Point(10, 50)
|
||||
points.churchTowerRoofLeft = new Point(10, 30)
|
||||
|
@ -253,14 +235,12 @@ export const point_flipy = {
|
|||
.attr('class', 'note dashed')
|
||||
|
||||
return part
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const point_rotate = {
|
||||
name: 'examples.point_rotate',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, part }) => {
|
||||
points.sun = new Point(40, 40)
|
||||
points.moon = new Point(70, 40)
|
||||
let step = 360 / 36
|
||||
|
@ -271,14 +251,12 @@ export const point_rotate = {
|
|||
}
|
||||
|
||||
return part
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const point_shift = {
|
||||
name: 'examples.point_shift',
|
||||
draft: part => {
|
||||
const { Point, points, macro } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, macro, part }) => {
|
||||
points.A = new Point(90, 40).attr('data-text', 'Point A').attr('data-text-class', 'right')
|
||||
points.B = points.A.shift(155, 70)
|
||||
.attr('data-text', 'Point B is point A shifted 7cm\nat a 155 degree angle')
|
||||
|
@ -291,14 +269,12 @@ export const point_shift = {
|
|||
})
|
||||
|
||||
return box(part, 100, 45)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const point_shiftfractiontowards = {
|
||||
name: 'examples.point_shiftfractiontowards',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths, macro } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, macro, part }) => {
|
||||
points.A = new Point(90, 70).attr('data-text', 'Point A')
|
||||
points.B = new Point(10, 10).attr('data-text', 'Point B')
|
||||
points.C = points.A.shiftFractionTowards(points.B, 0.5)
|
||||
|
@ -321,14 +297,12 @@ export const point_shiftfractiontowards = {
|
|||
})
|
||||
|
||||
return part
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const point_shiftoutwards = {
|
||||
name: 'examples.point_shiftoutwards',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths, macro } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, macro, part }) => {
|
||||
points.A = new Point(90, 70).attr('data-text', 'Point A')
|
||||
points.B = new Point(30, 30).attr('data-text', 'Point B')
|
||||
points.C = points.A.shiftOutwards(points.B, 30)
|
||||
|
@ -344,14 +318,12 @@ export const point_shiftoutwards = {
|
|||
})
|
||||
|
||||
return box(part, 110, 75)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const point_shifttowards = {
|
||||
name: 'examples.point_shifttowards',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths, macro } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, macro, part }) => {
|
||||
points.A = new Point(90, 70).attr('data-text', 'Point A')
|
||||
points.B = new Point(10, 10).attr('data-text', 'Point B')
|
||||
points.C = points.A.shiftTowards(points.B, 35)
|
||||
|
@ -368,14 +340,12 @@ export const point_shifttowards = {
|
|||
})
|
||||
|
||||
return box(part, 110, 80)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const point_sitson = {
|
||||
name: 'examples.point_sitson',
|
||||
draft: part => {
|
||||
const { Point, points, Snippet, snippets } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Snippet, snippets, part }) => {
|
||||
let s
|
||||
for (let i = 0; i < 10; i++) {
|
||||
points[`a${i}`] = new Point(i * 10, 40)
|
||||
|
@ -387,14 +357,12 @@ export const point_sitson = {
|
|||
}
|
||||
|
||||
return box(part)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const point_sitsroughlyon = {
|
||||
name: 'examples.point_sitsroughlyon',
|
||||
draft: part => {
|
||||
const { Point, points, Snippet, snippets } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Snippet, snippets, part }) => {
|
||||
box(part)
|
||||
|
||||
let s
|
||||
|
@ -408,14 +376,12 @@ export const point_sitsroughlyon = {
|
|||
}
|
||||
|
||||
return part
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const point_translate = {
|
||||
name: 'examples.point_translate',
|
||||
draft: part => {
|
||||
const { Point, points, macro } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, macro, part }) => {
|
||||
points.A = new Point(20, 20).attr('data-text', 'Point A')
|
||||
points.B = points.A.translate(120, 60)
|
||||
.attr('data-text', 'Point B is point A with a\ntranslate(120, 60)\ntransform applied')
|
||||
|
@ -431,6 +397,5 @@ export const point_translate = {
|
|||
})
|
||||
|
||||
return box(part, 150, 85)
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
export const settings_sa = {
|
||||
name: 'examples.settings_sa',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, path, part }) => {
|
||||
points.A = new Point(45, 60)
|
||||
points.B = new Point(10, 30)
|
||||
points.BCp2 = new Point(40, 20)
|
||||
|
@ -20,6 +18,5 @@ export const settings_sa = {
|
|||
paths.offset = paths.example.offset(-10).attr('class', 'fabric sa')
|
||||
|
||||
return part
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,9 +2,7 @@ import { box } from './shared.mjs'
|
|||
|
||||
export const snippet = {
|
||||
name: 'examples.snippet',
|
||||
draft: part => {
|
||||
const { Point, points, Snippet, snippets } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Snippet, snippets, part }) => {
|
||||
points.anchor1 = new Point(20, 15)
|
||||
points.anchor2 = new Point(50, 15)
|
||||
points.anchor3 = new Point(80, 15)
|
||||
|
@ -13,34 +11,29 @@ export const snippet = {
|
|||
snippets.demo3 = new Snippet('logo', points.anchor3).attr('data-scale', 0.5)
|
||||
|
||||
return box(part)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const snippet_attr = {
|
||||
name: 'examples.snippet_attr',
|
||||
draft: part => {
|
||||
const { Point, points, Snippet, snippets } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Snippet, snippets, part }) => {
|
||||
points.anchor = new Point(50, 15)
|
||||
snippets.demo = new Snippet('logo', points.anchor)
|
||||
.attr('data-scale', 0.8)
|
||||
.attr('data-rotate', 180)
|
||||
|
||||
return box(part)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const snippet_clone = {
|
||||
name: 'examples.snippet_clone',
|
||||
draft: part => {
|
||||
const { Point, points, Snippet, snippets } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Snippet, snippets, part }) => {
|
||||
points.anchor = new Point(35, 35)
|
||||
snippets.demo = new Snippet('logo', points.anchor).attr('style', 'color: #f006')
|
||||
|
||||
snippets.clone = snippets.demo.clone().attr('data-scale', 0.5)
|
||||
|
||||
return box(part)
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,109 +2,90 @@ import { box } from './shared.mjs'
|
|||
|
||||
export const snippet_bnotch = {
|
||||
name: 'examples.snippet_bnotch',
|
||||
draft: part => {
|
||||
const { Point, points, Snippet, snippets } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Snippet, snippets, part }) => {
|
||||
points.anchor = new Point(50, 5)
|
||||
snippets.demo = new Snippet('bnotch', points.anchor)
|
||||
|
||||
return box(part, 100, 10)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const snippet_button = {
|
||||
name: 'examples.snippet_button',
|
||||
draft: part => {
|
||||
const { Point, points, Snippet, snippets } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Snippet, snippets, part }) => {
|
||||
points.anchor = new Point(50, 5)
|
||||
snippets.demo = new Snippet('button', points.anchor)
|
||||
|
||||
return box(part, 100, 10)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const snippet_buttonholeend = {
|
||||
name: 'examples.snippet_buttonholeend',
|
||||
draft: part => {
|
||||
const { Point, points, Snippet, snippets } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Snippet, snippets, part }) => {
|
||||
points.anchor = new Point(50, 0)
|
||||
snippets.demo = new Snippet('buttonhole-end', points.anchor)
|
||||
|
||||
return box(part, 100, 10)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const snippet_buttonholestart = {
|
||||
name: 'examples.snippet_buttonholestart',
|
||||
draft: part => {
|
||||
const { Point, points, Snippet, snippets } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Snippet, snippets, part }) => {
|
||||
points.anchor = new Point(50, 10)
|
||||
snippets.demo = new Snippet('buttonhole-start', points.anchor)
|
||||
|
||||
return box(part, 100, 10)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const snippet_buttonhole = {
|
||||
name: 'examples.snippet_buttonhole',
|
||||
draft: part => {
|
||||
const { Point, points, Snippet, snippets } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Snippet, snippets, part }) => {
|
||||
points.anchor = new Point(50, 5)
|
||||
snippets.demo = new Snippet('buttonhole', points.anchor)
|
||||
|
||||
return box(part, 100, 10)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const snippet_logo = {
|
||||
name: 'examples.snippet_logo',
|
||||
draft: part => {
|
||||
const { Point, points, Snippet, snippets } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Snippet, snippets, part }) => {
|
||||
points.anchor = new Point(50, 35)
|
||||
snippets.demo = new Snippet('logo', points.anchor)
|
||||
|
||||
return box(part, 100, 50)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const snippet_notch = {
|
||||
name: 'examples.snippet_notch',
|
||||
draft: part => {
|
||||
const { Point, points, Snippet, snippets } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Snippet, snippets, part }) => {
|
||||
points.anchor = new Point(50, 5)
|
||||
snippets.demo = new Snippet('notch', points.anchor)
|
||||
|
||||
return box(part, 100, 10)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const snippet_snapsocket = {
|
||||
name: 'examples.snippet_snapsocket',
|
||||
draft: part => {
|
||||
const { Point, points, Snippet, snippets } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Snippet, snippets, part }) => {
|
||||
points.anchor = new Point(50, 5)
|
||||
snippets.demo = new Snippet('snap-socket', points.anchor)
|
||||
|
||||
return box(part, 100, 10)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const snippet_snapstud = {
|
||||
name: 'examples.snippet_snapstud',
|
||||
draft: part => {
|
||||
const { Point, points, Snippet, snippets } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Snippet, snippets, part }) => {
|
||||
points.anchor = new Point(50, 5)
|
||||
snippets.demo = new Snippet('snap-stud', points.anchor)
|
||||
|
||||
return box(part, 100, 10)
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,9 +2,7 @@ import { box } from './shared.mjs'
|
|||
|
||||
export const utils_beamintersectscircle = {
|
||||
name: 'examples.utils_beamintersectscircle',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths, Snippet, snippets, utils } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, Snippet, snippets, utils, part }) => {
|
||||
points.A = new Point(95, 45).attr('data-circle', 35).attr('data-circle-class', 'fabric')
|
||||
points.B = new Point(55, 50)
|
||||
points.C = new Point(75, 30)
|
||||
|
@ -45,14 +43,12 @@ export const utils_beamintersectscircle = {
|
|||
snippets.second3 = new Snippet('notch', intersections3[1])
|
||||
|
||||
return box(part, 200, 80)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const utils_beamintersectsx = {
|
||||
name: 'examples.utils_beamintersectsx',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths, Snippet, snippets, utils } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, Snippet, snippets, utils, part }) => {
|
||||
points.A = new Point(10, 10)
|
||||
points.B = new Point(90, 30)
|
||||
|
||||
|
@ -66,14 +62,12 @@ export const utils_beamintersectsx = {
|
|||
.attr('class', 'note dashed')
|
||||
|
||||
return part
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const utils_beamintersectsy = {
|
||||
name: 'examples.utils_beamintersectsy',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths, Snippet, snippets, utils } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, Snippet, snippets, utils, part }) => {
|
||||
points.A = new Point(10, 10)
|
||||
points.B = new Point(50, 40)
|
||||
|
||||
|
@ -87,14 +81,12 @@ export const utils_beamintersectsy = {
|
|||
.attr('class', 'note dashed')
|
||||
|
||||
return part
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const utils_beamsintersect = {
|
||||
name: 'examples.utils_beamsintersect',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths, Snippet, snippets, utils } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, Snippet, snippets, utils, part }) => {
|
||||
points.A = new Point(10, 10)
|
||||
points.B = new Point(50, 40)
|
||||
points.C = new Point(45, 20)
|
||||
|
@ -106,14 +98,12 @@ export const utils_beamsintersect = {
|
|||
snippets.x = new Snippet('notch', utils.beamsIntersect(points.A, points.B, points.C, points.D))
|
||||
|
||||
return part
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const utils_circlesintersect = {
|
||||
name: 'examples.utils_circlesintersect',
|
||||
draft: part => {
|
||||
const { Point, points, Snippet, snippets, utils } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Snippet, snippets, utils, part }) => {
|
||||
points.A = new Point(10, 10).attr('data-circle', 15).attr('data-circle-class', 'fabric')
|
||||
points.B = new Point(30, 30).attr('data-circle', 35).attr('data-circle-class', 'fabric')
|
||||
points.C = new Point(90, 10).attr('data-circle', 15).attr('data-circle-class', 'various')
|
||||
|
@ -139,14 +129,12 @@ export const utils_circlesintersect = {
|
|||
snippets.second2 = new Snippet('notch', intersections2[1])
|
||||
|
||||
return part
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const utils_curveintersectsx = {
|
||||
name: 'examples.utils_curveintersectsx',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths, utils, snippets, Snippet } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, utils, snippets, Snippet, part }) => {
|
||||
points.start = new Point(10, 15)
|
||||
points.cp1 = new Point(80, 10)
|
||||
points.cp2 = new Point(-50, 80)
|
||||
|
@ -172,14 +160,12 @@ export const utils_curveintersectsx = {
|
|||
snippets[p.y] = new Snippet('notch', p)
|
||||
|
||||
return part
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const utils_curveintersectsy = {
|
||||
name: 'examples.utils_curveintersectsy',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths, utils, snippets, Snippet } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, utils, snippets, Snippet, part }) => {
|
||||
points.start = new Point(10, 45)
|
||||
points.cp1 = new Point(50, 10)
|
||||
points.cp2 = new Point(0, 80)
|
||||
|
@ -205,14 +191,12 @@ export const utils_curveintersectsy = {
|
|||
snippets[p.x] = new Snippet('notch', p)
|
||||
|
||||
return part
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const utils_curvesintersect = {
|
||||
name: 'examples.utils_curvesintersect',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths, Snippet, snippets, utils } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, Snippet, snippets, utils, part }) => {
|
||||
points.A = new Point(10, 10)
|
||||
points.Acp = new Point(310, 40)
|
||||
points.B = new Point(110, 70)
|
||||
|
@ -239,14 +223,12 @@ export const utils_curvesintersect = {
|
|||
}
|
||||
|
||||
return part
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const utils_lineintersectscircle = {
|
||||
name: 'examples.utils_lineintersectscircle',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths, Snippet, snippets, utils } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, Snippet, snippets, utils, part }) => {
|
||||
points.A = new Point(95, 45).attr('data-circle', 35).attr('data-circle-class', 'fabric')
|
||||
points.B = new Point(55, 50)
|
||||
points.C = new Point(75, 30)
|
||||
|
@ -286,14 +268,12 @@ export const utils_lineintersectscircle = {
|
|||
snippets.second3 = new Snippet('notch', intersections3[1])
|
||||
|
||||
return box(part, 200, 80)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const utils_lineintersectscurve = {
|
||||
name: 'examples.utils_lineintersectscurve',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths, Snippet, snippets, utils } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, Snippet, snippets, utils, part }) => {
|
||||
points.A = new Point(10, 10)
|
||||
points.Acp = new Point(310, 40)
|
||||
points.B = new Point(110, 70)
|
||||
|
@ -315,14 +295,12 @@ export const utils_lineintersectscurve = {
|
|||
}
|
||||
|
||||
return part
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const utils_linesintersect = {
|
||||
name: 'examples.utils_linesintersect',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths, Snippet, snippets, utils } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, Snippet, snippets, utils, part }) => {
|
||||
points.A = new Point(10, 10)
|
||||
points.B = new Point(50, 40)
|
||||
points.C = new Point(15, 30)
|
||||
|
@ -334,14 +312,12 @@ export const utils_linesintersect = {
|
|||
snippets.X = new Snippet('notch', utils.linesIntersect(points.A, points.B, points.C, points.D))
|
||||
|
||||
return part
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const utils_pointonbeam = {
|
||||
name: 'examples.utils_pointonbeam',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths, Snippet, snippets, utils } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, Snippet, snippets, utils, part }) => {
|
||||
points.from1 = new Point(10, 10)
|
||||
points.to1 = new Point(90, 60)
|
||||
points.from2 = new Point(10, 30)
|
||||
|
@ -371,14 +347,12 @@ export const utils_pointonbeam = {
|
|||
paths.lne2 = new Path().move(points.to2).line(points.b2).attr('class', 'fabric dashed')
|
||||
|
||||
return part
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const utils_pointoncurve = {
|
||||
name: 'examples.utils_pointoncurve',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths, Snippet, snippets, utils } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, Snippet, snippets, utils, part }) => {
|
||||
points.start = new Point(10, 10)
|
||||
points.cp1 = new Point(90, 10)
|
||||
points.cp2 = new Point(10, 60)
|
||||
|
@ -403,14 +377,12 @@ export const utils_pointoncurve = {
|
|||
.attr('class', 'fabric stroke-lg')
|
||||
|
||||
return part
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const utils_pointonline = {
|
||||
name: 'examples.utils_pointonline',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths, Snippet, snippets, utils } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, Snippet, snippets, utils, part }) => {
|
||||
points.from1 = new Point(10, 10)
|
||||
points.to1 = new Point(90, 60)
|
||||
points.from2 = new Point(10, 30)
|
||||
|
@ -440,14 +412,12 @@ export const utils_pointonline = {
|
|||
paths.lne2 = new Path().move(points.to2).line(points.b2).attr('class', 'fabric dashed')
|
||||
|
||||
return part
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export const utils_splitcurve = {
|
||||
name: 'examples.utils_splitcurve',
|
||||
draft: part => {
|
||||
const { Point, points, Path, paths, utils } = part.shorthand()
|
||||
|
||||
draft: ({ Point, points, Path, paths, utils, part }) => {
|
||||
points.from = new Point(40, 10)
|
||||
points.to = new Point(40, 80)
|
||||
paths.line = new Path().move(points.from).line(points.to).attr('class', 'lining dashed')
|
||||
|
@ -471,6 +441,5 @@ export const utils_splitcurve = {
|
|||
}
|
||||
|
||||
return part
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue