From 66312dc07f54c850f5db45b0723dd273874c1593 Mon Sep 17 00:00:00 2001 From: joostdecock Date: Mon, 10 Apr 2023 19:15:55 +0200 Subject: [PATCH] chore(plugin-annotations): Consolidating plugins --- config/software/plugins.json | 2 - plugins/plugin-annotations/src/banner.mjs | 19 ++ plugins/plugin-annotations/src/bannerbox.mjs | 35 +++ plugins/plugin-annotations/src/dimensions.mjs | 157 ++++++++++ plugins/plugin-annotations/src/index.mjs | 7 + plugins/plugin-banner/CHANGELOG.md | 34 -- plugins/plugin-banner/README.md | 295 ------------------ plugins/plugin-banner/build.mjs | 35 --- plugins/plugin-banner/data.mjs | 4 - plugins/plugin-banner/package.json | 68 ---- plugins/plugin-banner/src/index.mjs | 26 -- plugins/plugin-banner/tests/plugin.test.mjs | 87 ------ plugins/plugin-banner/tests/shared.test.mjs | 6 - plugins/plugin-dimension/.travis.yml | 9 - plugins/plugin-dimension/CHANGELOG.md | 58 ---- plugins/plugin-dimension/README.md | 295 ------------------ plugins/plugin-dimension/build.mjs | 35 --- plugins/plugin-dimension/data.mjs | 4 - plugins/plugin-dimension/img/example.png | Bin 174048 -> 0 bytes plugins/plugin-dimension/package.json | 68 ---- plugins/plugin-dimension/src/index.mjs | 164 ---------- plugins/plugin-dimension/src/lib/markers.js | 9 - .../plugin-dimension/tests/plugin.test.mjs | 240 -------------- .../plugin-dimension/tests/shared.test.mjs | 6 - 24 files changed, 218 insertions(+), 1445 deletions(-) create mode 100644 plugins/plugin-annotations/src/banner.mjs create mode 100644 plugins/plugin-annotations/src/bannerbox.mjs create mode 100644 plugins/plugin-annotations/src/dimensions.mjs delete mode 100644 plugins/plugin-banner/CHANGELOG.md delete mode 100644 plugins/plugin-banner/README.md delete mode 100644 plugins/plugin-banner/build.mjs delete mode 100644 plugins/plugin-banner/data.mjs delete mode 100644 plugins/plugin-banner/package.json delete mode 100644 plugins/plugin-banner/src/index.mjs delete mode 100644 plugins/plugin-banner/tests/plugin.test.mjs delete mode 100644 plugins/plugin-banner/tests/shared.test.mjs delete mode 100644 plugins/plugin-dimension/.travis.yml delete mode 100644 plugins/plugin-dimension/CHANGELOG.md delete mode 100644 plugins/plugin-dimension/README.md delete mode 100644 plugins/plugin-dimension/build.mjs delete mode 100644 plugins/plugin-dimension/data.mjs delete mode 100644 plugins/plugin-dimension/img/example.png delete mode 100644 plugins/plugin-dimension/package.json delete mode 100644 plugins/plugin-dimension/src/index.mjs delete mode 100644 plugins/plugin-dimension/src/lib/markers.js delete mode 100644 plugins/plugin-dimension/tests/plugin.test.mjs delete mode 100644 plugins/plugin-dimension/tests/shared.test.mjs diff --git a/config/software/plugins.json b/config/software/plugins.json index 803bd151a45..634b7ab5b6b 100644 --- a/config/software/plugins.json +++ b/config/software/plugins.json @@ -1,10 +1,8 @@ { "plugin-annotations": "A FreeSewing plugin that provides pattern annotations", - "plugin-banner": "A FreeSewing plugin to repeat text on a path", "plugin-bundle": "An umbrella package of 8 essential FreeSewing build-time plugins", "plugin-bust": "A FreeSewing plugin that helps with bust-adjusting menswear patterns", "plugin-cutlist": "A FreeSewing plugin to store data regarding a pattern's cutlist", - "plugin-dimension": "A FreeSewing plugin to add dimensions to your (paperless) pattern", "plugin-flip": "A FreeSewing plugin to flip parts horizontally", "plugin-gore": "A FreeSewing plugin to generate gores for a semi-sphere or dome", "plugin-i18n": "A FreeSewing plugin for pattern translation", diff --git a/plugins/plugin-annotations/src/banner.mjs b/plugins/plugin-annotations/src/banner.mjs new file mode 100644 index 00000000000..48ca655a468 --- /dev/null +++ b/plugins/plugin-annotations/src/banner.mjs @@ -0,0 +1,19 @@ +// Export macros +export const bannerMacros = { + banner: function (so) { + // Mix defaults with settings object + so = { + text: '', + dy: -1, + spaces: 12, + repeat: 10, + className: '', + ...so, + } + so.path.attr('data-text-dy', so.dy).attr('data-text-class', `${so.className} center`) + const spacer = ' '.repeat(so.spaces) + let banner = spacer + for (let i = 0; i < so.repeat; i++) banner += so.text + ' '.repeat(so.spaces) + so.path.attr('data-text', banner) + }, +} diff --git a/plugins/plugin-annotations/src/bannerbox.mjs b/plugins/plugin-annotations/src/bannerbox.mjs new file mode 100644 index 00000000000..b1c530586c9 --- /dev/null +++ b/plugins/plugin-annotations/src/bannerbox.mjs @@ -0,0 +1,35 @@ +// Export macros +export const bannerboxMacros = { + bannerbox: function (so, { points, Point, paths, Path, getId, macro }) { + // Spread so settings into defaults + so = { + topLeft: new Point(0, 0), + bottomRight: new Point(100, 100), + title: 'No title for this bannerbox', + margin: 15, + className: 'text-xs fill-note', + dy: 4, + spaces: 12, + repeat: 10, + ...so, + } + const offset = Math.sqrt(2 * Math.pow(so.margin, 2)) + + const id = getId() + paths[id] = new Path() + .move(so.topLeft.shift(135, offset)) + .line(new Point(so.bottomRight.x, so.topLeft.y).shift(45, offset)) + .line(so.bottomRight.shift(315, offset)) + .line(new Point(so.topLeft.x, so.bottomRight.y).shift(225, offset)) + .line(so.topLeft.shift(135, offset)) + .close() + + macro('banner', { + path: paths[id], + text: so.title, + className: 'text-xs fill-note', + repeat: 99, + dy: 4, + }) + }, +} diff --git a/plugins/plugin-annotations/src/dimensions.mjs b/plugins/plugin-annotations/src/dimensions.mjs new file mode 100644 index 00000000000..52e777fc371 --- /dev/null +++ b/plugins/plugin-annotations/src/dimensions.mjs @@ -0,0 +1,157 @@ +const markers = ` + + + + + + +` +const prefix = '__paperless' + +function drawDimension(from, to, so, { Path, units }) { + const dimension = new Path() + .move(from) + .line(to) + .attr('class', 'mark') + .attr('data-text', so.text || units(from.dist(to))) + .attr('data-text-class', 'fill-mark center') + if (!so.noStartMarker) dimension.attributes.set('marker-start', 'url(#dimensionFrom)') + if (!so.noEndMarker) dimension.attributes.set('marker-end', 'url(#dimensionTo)') + + return dimension +} + +function drawLeader({ paths, Path }, from, to, id) { + paths[id] = new Path().move(from).line(to).attr('class', 'mark dotted') +} + +function hleader(so, type, props, id) { + const { Point } = props + let point + if (typeof so.y === 'undefined' || so[type].y === so.y) { + point = so[type] + } else { + point = new Point(so[type].x, so.y) + drawLeader(props, so[type], point, id) + } + + return point +} + +function vleader(so, type, props, id) { + const { Point } = props + let point + if (typeof so.x === 'undefined' || so[type].x === so.x) { + point = so[type] + } else { + point = new Point(so.x, so[type].y) + drawLeader(props, so[type], point, id) + } + + return point +} + +function lleader(so, type, props, id) { + let point, rot, other + if (type === 'from') { + rot = 1 + other = 'to' + } else { + rot = -1 + other = 'from' + } + if (typeof so.d === 'undefined') { + point = so[type] + } else { + point = so[type].shiftTowards(so[other], so.d).rotate(90 * rot, so[type]) + drawLeader(props, so[type], point, id) + } + + return point +} + +// Export hooks and macros +export const dimensionsHooks = { + preRender: [ + function (svg) { + if (svg.defs.indexOf(markers) === -1) svg.defs += markers + }, + ], +} +export const dimensionsMacros = { + // horizontal + hd: function (so, props) { + const { getId, paths } = props + const id = so.id || getId(prefix) + paths[id] = drawDimension( + hleader(so, 'from', props, id + '_ls'), + hleader(so, 'to', props, id + '_le'), + so, + props + ) + }, + // vertical + vd: function (so, props) { + const { getId, paths } = props + const id = so.id || getId(prefix) + paths[id] = drawDimension( + vleader(so, 'from', props, id + '_ls'), + vleader(so, 'to', props, id + '_le'), + so, + props + ) + }, + // linear + ld: function (so, props) { + const { getId, paths } = props + const id = so.id || getId(prefix) + paths[id] = drawDimension( + lleader(so, 'from', props, id + '_ls'), + lleader(so, 'to', props, id + '_le'), + so, + props + ) + }, + // path + pd: function (so, props) { + const { getId, paths, scale, units } = props + const id = so.id || getId(prefix) + if (typeof so.d === 'undefined') so.d = 10 * scale + const dimension = so.path + .offset(so.d) + .attr('class', 'mark') + .attr('data-text', so.text || units(so.path.length())) + .attr('data-text-class', 'fill-mark center') + if (!so.noStartMarker) dimension.attributes.set('marker-start', 'url(#dimensionFrom)') + if (!so.noEndMarker) dimension.attributes.set('marker-end', 'url(#dimensionTo)') + paths[id] = dimension + drawLeader(props, so.path.start(), dimension.start(), id + '_ls') + drawLeader(props, so.path.end(), dimension.end(), id + '_le') + }, + // Remove dimension + rmd: function (so, props) { + const { paths } = props + if (paths[so.id]) delete this.paths[so.id] + if (paths[`${so.id}_ls`]) delete paths[`${so.id}_ls`] + if (paths[`${so.id}_le`]) delete paths[`${so.id}_le`] + if (Array.isArray(so.ids)) { + for (const id of so.ids) { + if (paths[id]) delete paths[id] + if (paths[`${id}_ls`]) delete paths[`${id}_ls`] + if (paths[`${id}_le`]) delete paths[`${id}_le`] + } + } + }, + // Remove all dimensions (with standard prefix) + rmad: function (params, props) { + const toRemove = { + points: props.point, + paths: props.paths, + } + for (let type in toRemove) { + for (let id in props[type]) { + if (id.slice(0, prefix.length) === prefix) delete props[type][id] + } + } + }, +} diff --git a/plugins/plugin-annotations/src/index.mjs b/plugins/plugin-annotations/src/index.mjs index ca351920745..d326dc80ff2 100644 --- a/plugins/plugin-annotations/src/index.mjs +++ b/plugins/plugin-annotations/src/index.mjs @@ -4,11 +4,14 @@ import { buttonsHooks } from './buttons.mjs' import { logoHooks } from './logo.mjs' import { notchesHooks } from './notches.mjs' // Macros only +import { bannerMacros } from './banner.mjs' +import { bannerboxMacros } from './bannerbox.mjs' import { bartackMacros } from './bartack.mjs' import { crossboxMacros } from './crossbox.mjs' import { scaleboxMacros } from './scalebox.mjs' // Hooks and Macros import { cutonfoldMacros, cutonfoldHooks } from './cutonfold.mjs' +import { dimensionsMacros, dimensionsHooks } from './dimensions.mjs' import { grainlineMacros, grainlineHooks } from './grainline.mjs' import { pleatMacros, pleatHooks } from './pleat.mjs' import { sewtogetherMacros, sewtogetherHooks } from './sewtogether.mjs' @@ -22,16 +25,20 @@ export const plugin = { ...logoHooks.preRender, ...notchesHooks.preRender, ...cutonfoldHooks.preRender, + ...dimensionsHooks.preRender, ...grainlineHooks.preRender, ...pleatHooks.preRender, ...sewtogetherHooks.preRender, ], }, macros: { + ...bannerMacros, + ...bannerboxMacros, ...bartackMacros, ...crossboxMacros, ...scaleboxMacros, ...cutonfoldMacros, + ...dimensionsMacros, ...grainlineMacros, ...pleatMacros, ...sewtogetherMacros, diff --git a/plugins/plugin-banner/CHANGELOG.md b/plugins/plugin-banner/CHANGELOG.md deleted file mode 100644 index d6230083a40..00000000000 --- a/plugins/plugin-banner/CHANGELOG.md +++ /dev/null @@ -1,34 +0,0 @@ -# Change log for: @freesewing/plugin-banner - - -## 2.21.0 (2022-06-27) - -### Changed - - - Migrated from Rollup to Esbuild for all builds - -## 2.20.0 (2022-01-24) - -### Changed - - - Changed the default options - - Now part of `@freesewing/plugin-bundle` - -## 2.19.6 (2021-12-29) - -### Added - - - Added (esm) unit tests - -## 2.0.0 (2019-08-25) - -### Added - - - Initial release - - -This is the **initial release**, and the start of this change log. - -> Prior to version 2, FreeSewing was not a JavaScript project. -> As such, that history is out of scope for this change log. - diff --git a/plugins/plugin-banner/README.md b/plugins/plugin-banner/README.md deleted file mode 100644 index 0960ccf2655..00000000000 --- a/plugins/plugin-banner/README.md +++ /dev/null @@ -1,295 +0,0 @@ -![FreeSewing](https://static.freesewing.org/banner.png) -

@freesewing/plugin-banner on NPM - License: MIT - Code quality on DeepScan - Open issues tagged pkg:plugin-banner - All Contributors -

Follow @freesewing_org on Twitter - Chat with us on Discord - Become a FreeSewing Patron - Follow @freesewing_org on Twitter -

- -# @freesewing/plugin-banner - -A FreeSewing plugin to repeat text on a path - - - - -> #### Note: Version 3 is a work in progress -> -> We are working on a new major version (v3) but it is not ready for prime-time. -> For production use, please refer to our v2 packages (the `latest` on NPM) -> or [the `v2` branch in our monorepo](https://github.com/freesewing/freesewing/tree/v2). -> -> We the `main` branch and `next` packages on NPM holds v3 code. But it's alpha for now. - -## What am I looking at? πŸ€” - -This repository is our *monorepo* holding all our NPM designs, plugins, other NPM packages, and (web)sites. - -This folder holds: @freesewing/plugin-banner - -If you're not entirely sure what to do or how to start, type this command: - -``` -npm run tips -``` - -> If you don't want to set up a dev environment, you can run it in your browser: -> -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) -> -> We recommend that you fork our repository and then -> put `gitpod.io/# to start up a browser-based dev environment of your own. - -## About FreeSewing πŸ’€ - -Where the world of makers and developers collide, that's where you'll find FreeSewing. - -If you're a maker, checkout [freesewing.org](https://freesewing.org/) where you can generate -our sewing patterns adapted to your measurements. - -If you're a developer, our documentation is on [freesewing.dev](https://freesewing.dev/). -Our [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox -for parametric design of sewing patterns. But we also provide a range -of [plugins](https://freesewing.dev/reference/plugins/) that further extend the -functionality of the platform. - -If you have NodeJS installed, you can try it right now by running: - -```bash -npx create-freesewing-pattern -``` - -Or, consult our getting started guides -for [Linux](https://freesewing.dev/tutorials/getting-started-linux/), -[MacOS](https://freesewing.dev/tutorials/getting-started-mac/), -or [Windows](https://freesewing.dev/tutorials/getting-started-windows/). - -We also have a [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) that -walks you through your first parametric design, -and [a friendly community](https://freesewing.org/community/where/) with -people who can help you when you get stuck. - -## Support FreeSewing: Become a patron πŸ₯° - -FreeSewing is an open source project run by a community, -and financially supported by our patrons. - -If you feel what we do is worthwhile, and you can spend a few coind without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). - -## Links πŸ‘©β€πŸ’» - - - πŸ’» Makers website: [freesewing.org](https://freesewing.org) - - πŸ’» Developers website: [freesewing.dev](https://freesewing.dev) - - πŸ’¬ Chat: On Discord via [discord.freesewing.org](https://discord.freesewing.org/) - - βœ… Todo list/Kanban board: On Github via [todo.freesewing.org](https://todo.freesewing.org/) - - 🐦 Twitter: [@freesewing_org](https://twitter.com/freesewing_org) - - πŸ“· Instagram: [@freesewing_org](https://instagram.com/freesewing_org) - -## License: MIT πŸ€“ - -Β© [Joost De Cock](https://github.com/joostdecock). -See [the license file](https://github.com/freesewing/freesewing/blob/develop/LICENSE) for details. - -## Where to get help 🀯 - -Our [chatrooms on Discord](https://chat.freesewing.org/) are the best place to ask questions, -share your feedback, or just hang out. - -If you want to report a problem, please [create an issue](https://github.com/freesewing/freesewing/issues/new). - - - -## Contributors ✨ - -Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Adam Tomkins
Adam Tomkins

πŸ“–
Alexandre Ignjatovic
Alexandre Ignjatovic

πŸ’»
AlfaLyr
AlfaLyr

πŸ’» πŸ”Œ 🎨
Andrew James
Andrew James

πŸ“–
Anneke
Anneke

πŸ“– 🌍
Annie Kao
Annie Kao

πŸ“–
Anternative
Anternative

πŸ“–
Anthony
Anthony

πŸ’¬
Ari Grayzel-student
Ari Grayzel-student

πŸ’»
Bart
Bart

πŸ“–
BenJamesBen
BenJamesBen

πŸ’» πŸ“– πŸ›
Cameron Dubas
Cameron Dubas

πŸ“–
Carsten Biebricher
Carsten Biebricher

πŸ“–
Cathy Zoller
Cathy Zoller

πŸ“–
Chantal Lapointe
Chantal Lapointe

🌍
Damien PIQUET
Damien PIQUET

πŸ’»
Darigov Research
Darigov Research

πŸ“– πŸ€”
Elena FdR
Elena FdR

πŸ“– πŸ“
Emmanuel Nyachoke
Emmanuel Nyachoke

πŸ’» πŸ“–
Enoch Riese
Enoch Riese

πŸ’»
EvEkSwed
EvEkSwed

🌍
Fantastik-Maman
Fantastik-Maman

🌍
Forrest O.
Forrest O.

πŸ“–
FrΓ©dΓ©ric
FrΓ©dΓ©ric

🌍
Glenn Matthews
Glenn Matthews

πŸ“–
Greg Sadetsky
Greg Sadetsky

πŸ“–
Igor Couto
Igor Couto

πŸ›
Ikko Ashimine
Ikko Ashimine

πŸ“–
Irapeke
Irapeke

🌍
Jacek Sawoszczuk
Jacek Sawoszczuk

πŸ“–
Jason Williams
Jason Williams

πŸ“–
Jeremy Jackson
Jeremy Jackson

πŸ’»
Jeroen Hoek
Jeroen Hoek

πŸ“–
Joe Schofield
Joe Schofield

πŸ“–
Joebidido
Joebidido

🌍
Joost De Cock
Joost De Cock

🚧
Josh Essman
Josh Essman

πŸ“–
Kake
Kake

πŸ“–
Kapunahele Wong
Kapunahele Wong

πŸ“–
Karen
Karen

πŸ“– πŸ“‹
Katie McGinley
Katie McGinley

πŸ“–
Kieran Klaassen
Kieran Klaassen

πŸ’»
Kittycatou
Kittycatou

🌍
Kris
Kris

πŸ“–
Kristin Ruben
Kristin Ruben

πŸ’»
Loudepeuter
Loudepeuter

🌍
Lucian
Lucian

πŸ“‹
MA-TATAS
MA-TATAS

πŸ“–
Marcus
Marcus

🌍
Martin Tribo
Martin Tribo

πŸ“–
Nadege Michel
Nadege Michel

⚠️ πŸ“–
Natalia
Natalia

πŸ’» 🎨 πŸ“
Nathan Yergler
Nathan Yergler

πŸ“–
Nick Dower
Nick Dower

πŸ“– πŸ’» πŸ›
Nikhil Chelliah
Nikhil Chelliah

πŸ“–
OysteinHoiby
OysteinHoiby

πŸ’»
Patrick Forringer
Patrick Forringer

πŸ”Œ
Paul
Paul

πŸ“– πŸ“ 🌍
Phillip Thelen
Phillip Thelen

πŸ’»
Pixieish
Pixieish

πŸ“–
Prof. dr. Sorcha NΓ­ Dhubhghaill
Prof. dr. Sorcha NΓ­ Dhubhghaill

πŸ“–
Quentin FELIX
Quentin FELIX

πŸ’» 🎨
Rik Hekker
Rik Hekker

πŸ›
Sam Livingston-Gray
Sam Livingston-Gray

πŸ“–
Sanne
Sanne

πŸ’» πŸ“–
Sara Latorre
Sara Latorre

🌍
SeaZeeZee
SeaZeeZee

πŸ“– πŸ’»
SimonbJohnson
SimonbJohnson

πŸ›
SirCharlotte
SirCharlotte

🌍
Slylele
Slylele

πŸ“– 🌍
Soazillon
Soazillon

🌍
SoneaTheBest
SoneaTheBest

🌍
Stefan Sydow
Stefan Sydow

🌍 πŸ“– πŸ’»
TrΓ­ona
TrΓ­ona

πŸ“–
Unmutual
Unmutual

πŸ“–
Wouter van Wageningen
Wouter van Wageningen

πŸ’» 🎨 πŸ”§
amysews
amysews

πŸ“–
anna-puk
anna-puk

πŸ’»
beautifulsummermoon
beautifulsummermoon

🌍
berce
berce

πŸ“–
biou
biou

πŸ’»
bobgeorgethe3rd
bobgeorgethe3rd

πŸ’» πŸ“– 🎨
brmlyklr
brmlyklr

πŸ“–
chri5b
chri5b

πŸ’» ⚠️
dingcycle
dingcycle

🌍
drowned-in-books
drowned-in-books

πŸ’¬
econo202
econo202

πŸ“–
ericamattos
ericamattos

🌍
fightingrabbit
fightingrabbit

πŸ’»
gaylyndie
gaylyndie

πŸ“–
grimlokason
grimlokason

πŸ’»
hellgy
hellgy

🎨
jackseye
jackseye

πŸ“–
marckiesel
marckiesel

🌍
mesil
mesil

πŸ›
starfetch
starfetch

πŸ’» πŸ“– 🌍 🎨
timorl
timorl

πŸ’»
ttimearl
ttimearl

πŸ–‹
tuesgloomsday
tuesgloomsday

πŸ“–
valadaptive
valadaptive

πŸ’»
viocky
viocky

🌍
woolishboy
woolishboy

πŸ’»
yc
yc

🌍
- - - - - - -This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! - diff --git a/plugins/plugin-banner/build.mjs b/plugins/plugin-banner/build.mjs deleted file mode 100644 index 99ace216bc8..00000000000 --- a/plugins/plugin-banner/build.mjs +++ /dev/null @@ -1,35 +0,0 @@ -/* This script will build the package with esbuild */ -import esbuild from 'esbuild' -import pkg from './package.json' assert { type: 'json' } - -// Create banner based on package info -const banner = `/** - * ${pkg.name} | v${pkg.version} - * ${pkg.description} - * (c) ${new Date().getFullYear()} ${pkg.author} - * @license ${pkg.license} - */` - -// Shared esbuild options -const options = { - banner: { js: banner }, - bundle: true, - entryPoints: ['src/index.mjs'], - format: 'esm', - outfile: 'dist/index.mjs', - external: ['@freesewing'], - metafile: process.env.VERBOSE ? true : false, - minify: process.env.NO_MINIFY ? false : true, - sourcemap: true, -} - -// Let esbuild generate the build -const build = async () => { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/plugins/plugin-banner/data.mjs b/plugins/plugin-banner/data.mjs deleted file mode 100644 index 9c2dfeeca30..00000000000 --- a/plugins/plugin-banner/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/plugin-banner' -export const version = '3.0.0-alpha.4' -export const data = { name, version } diff --git a/plugins/plugin-banner/package.json b/plugins/plugin-banner/package.json deleted file mode 100644 index 7cebca75d59..00000000000 --- a/plugins/plugin-banner/package.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "name": "@freesewing/plugin-banner", - "version": "3.0.0-alpha.4", - "description": "A FreeSewing plugin to repeat text on a path", - "author": "Joost De Cock (https://github.com/joostdecock)", - "homepage": "https://freesewing.org/", - "repository": "github:freesewing/freesewing", - "license": "MIT", - "bugs": { - "url": "https://github.com/freesewing/freesewing/issues" - }, - "funding": { - "type": "individual", - "url": "https://freesewing.org/patrons/join" - }, - "keywords": [ - "freesewing", - "plugin", - "sewing pattern", - "sewing", - "design", - "parametric design", - "made to measure", - "diy", - "fashion" - ], - "type": "module", - "module": "dist/index.mjs", - "exports": { - ".": "./dist/index.mjs" - }, - "scripts": { - "build": "node build.mjs", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", - "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", - "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", - "tips": "node ../../scripts/help.mjs", - "lint": "npx eslint 'src/**' 'tests/*.mjs'", - "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "cibuild_step1": "node build.mjs", - "wbuild": "node build.mjs", - "wcibuild_step1": "node build.mjs" - }, - "peerDependencies": { - "@freesewing/core": "3.0.0-alpha.4" - }, - "dependencies": {}, - "devDependencies": { - "mocha": "10.0.0", - "chai": "4.2.0" - }, - "files": [ - "dist/*", - "README.md" - ], - "publishConfig": { - "access": "public", - "tag": "next" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=8" - } -} diff --git a/plugins/plugin-banner/src/index.mjs b/plugins/plugin-banner/src/index.mjs deleted file mode 100644 index 666a95b7451..00000000000 --- a/plugins/plugin-banner/src/index.mjs +++ /dev/null @@ -1,26 +0,0 @@ -import { version, name } from '../data.mjs' - -export const plugin = { - name, - version, - macros: { - banner: function (so) { - const defaults = { - text: '', - dy: -1, - spaces: 12, - repeat: 10, - } - so = { ...defaults, ...so } - so.path.attr('data-text-dy', so.dy).attr('data-text-class', 'center') - const spacer = ' '.repeat(so.spaces) - let banner = spacer - for (let i = 0; i < so.repeat; i++) banner += so.text + ' '.repeat(so.spaces) - so.path.attr('data-text', banner) - }, - }, -} - -// More specifically named exports -export const bannerPlugin = plugin -export const pluginBanner = plugin diff --git a/plugins/plugin-banner/tests/plugin.test.mjs b/plugins/plugin-banner/tests/plugin.test.mjs deleted file mode 100644 index 93aa514db0e..00000000000 --- a/plugins/plugin-banner/tests/plugin.test.mjs +++ /dev/null @@ -1,87 +0,0 @@ -import chai from 'chai' -import { Design } from '@freesewing/core' -import { bannerPlugin } from '../src/index.mjs' - -const expect = chai.expect - -describe('Banner Plugin Tests', () => { - it('Should add repeating text to a path', () => { - const part = { - name: 'test', - draft: ({ Point, points, Path, paths, macro, part }) => { - points.from = new Point(30, 30) - points.to = new Point(30, 100) - paths.example = new Path().move(points.from).line(points.to) - - macro('banner', { - text: 'foo', - path: paths.example, - }) - - return part - }, - plugins: [bannerPlugin], - } - const design = new Design({ parts: [part] }) - const pattern = new design() - pattern.draft() - const c = pattern.parts[0].test.paths.example - expect(c.attributes.get('data-text')).to.equal( - '            foo            foo            foo            foo            foo            foo            foo            foo            foo            foo            ' - ) - expect(c.attributes.get('data-text-class')).to.equal('center') - expect(c.attributes.get('data-text-dy')).to.equal('-1') - }) - - it('Number of spaces should be configurable', () => { - const part = { - name: 'test', - draft: ({ Point, points, Path, paths, macro, part }) => { - points.from = new Point(30, 30) - points.to = new Point(30, 100) - paths.example2 = new Path().move(points.from).line(points.to) - - macro('banner', { - text: 'foo', - path: paths.example2, - spaces: 2, - repeat: 2, - }) - - return part - }, - plugins: [bannerPlugin], - } - const design = new Design({ parts: [part] }) - const pattern = new design() - pattern.draft() - const c = pattern.parts[0].test.paths.example2 - expect(c.attributes.get('data-text')).to.equal('  foo  foo  ') - }) - - it('Number of repetitions should be configurable', () => { - const part = { - name: 'test', - draft: ({ Point, points, Path, paths, macro, part }) => { - points.from = new Point(30, 30) - points.to = new Point(30, 100) - paths.example3 = new Path().move(points.from).line(points.to) - - macro('banner', { - text: 'foo', - path: paths.example3, - spaces: 1, - repeat: 4, - }) - - return part - }, - plugins: [bannerPlugin], - } - const design = new Design({ parts: [part] }) - const pattern = new design() - pattern.draft() - const c = pattern.parts[0].test.paths.example3 - expect(c.attributes.get('data-text')).to.equal(' foo foo foo foo ') - }) -}) diff --git a/plugins/plugin-banner/tests/shared.test.mjs b/plugins/plugin-banner/tests/shared.test.mjs deleted file mode 100644 index 7bf4f668398..00000000000 --- a/plugins/plugin-banner/tests/shared.test.mjs +++ /dev/null @@ -1,6 +0,0 @@ -// This file is auto-generated | Any changes you make will be overwritten. -import { plugin } from '../src/index.mjs' -import { sharedPluginTests } from '../../../tests/plugins/shared.mjs' - -// Run shared tests -sharedPluginTests(plugin) diff --git a/plugins/plugin-dimension/.travis.yml b/plugins/plugin-dimension/.travis.yml deleted file mode 100644 index 121b29f66a4..00000000000 --- a/plugins/plugin-dimension/.travis.yml +++ /dev/null @@ -1,9 +0,0 @@ -language: node_js -node_js: - - "node" -install: - - npm install - - npm run build -script: - - npm run test - - npm run coverage diff --git a/plugins/plugin-dimension/CHANGELOG.md b/plugins/plugin-dimension/CHANGELOG.md deleted file mode 100644 index efdd90cd0fc..00000000000 --- a/plugins/plugin-dimension/CHANGELOG.md +++ /dev/null @@ -1,58 +0,0 @@ -# Change log for: @freesewing/plugin-dimension - - -## 2.21.0 (2022-06-27) - -### Changed - - - Migrated from Rollup to Esbuild for all builds - -## 2.20.0 (2022-01-24) - -### Fixed - - - Support hiding start/end markers on path dimensions (pd macro) - -## 2.19.6 (2021-12-29) - -### Added - - - Added (esm) unit tests - -## 2.15.0 (2021-04-15) - -### Added - - - Added the `rmad` macro - -## 2.9.0 (2020-10-02) - -### Added - - - Added support for passing in the ID used to add paths to the part - - Added the `rmd` macro that removes dimensions - -## 2.4.4 (2020-03-15) - -### Changed - - - Don't escape inch symbol in text. Instead let Svg.escapeText() handle it at render time - -## 2.1.5 (2019-11-19) - -### Fixed - - - Fixed issue where inch marks where breaking SVG because of unescaped double quotes - -## 2.0.0 (2019-08-25) - -### Added - - - Initial release - - -This is the **initial release**, and the start of this change log. - -> Prior to version 2, FreeSewing was not a JavaScript project. -> As such, that history is out of scope for this change log. - diff --git a/plugins/plugin-dimension/README.md b/plugins/plugin-dimension/README.md deleted file mode 100644 index 2d8b4ab236e..00000000000 --- a/plugins/plugin-dimension/README.md +++ /dev/null @@ -1,295 +0,0 @@ -![FreeSewing](https://static.freesewing.org/banner.png) -

@freesewing/plugin-dimension on NPM - License: MIT - Code quality on DeepScan - Open issues tagged pkg:plugin-dimension - All Contributors -

Follow @freesewing_org on Twitter - Chat with us on Discord - Become a FreeSewing Patron - Follow @freesewing_org on Twitter -

- -# @freesewing/plugin-dimension - -A FreeSewing plugin to add dimensions to your (paperless) pattern - - - - -> #### Note: Version 3 is a work in progress -> -> We are working on a new major version (v3) but it is not ready for prime-time. -> For production use, please refer to our v2 packages (the `latest` on NPM) -> or [the `v2` branch in our monorepo](https://github.com/freesewing/freesewing/tree/v2). -> -> We the `main` branch and `next` packages on NPM holds v3 code. But it's alpha for now. - -## What am I looking at? πŸ€” - -This repository is our *monorepo* holding all our NPM designs, plugins, other NPM packages, and (web)sites. - -This folder holds: @freesewing/plugin-dimension - -If you're not entirely sure what to do or how to start, type this command: - -``` -npm run tips -``` - -> If you don't want to set up a dev environment, you can run it in your browser: -> -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) -> -> We recommend that you fork our repository and then -> put `gitpod.io/# to start up a browser-based dev environment of your own. - -## About FreeSewing πŸ’€ - -Where the world of makers and developers collide, that's where you'll find FreeSewing. - -If you're a maker, checkout [freesewing.org](https://freesewing.org/) where you can generate -our sewing patterns adapted to your measurements. - -If you're a developer, our documentation is on [freesewing.dev](https://freesewing.dev/). -Our [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox -for parametric design of sewing patterns. But we also provide a range -of [plugins](https://freesewing.dev/reference/plugins/) that further extend the -functionality of the platform. - -If you have NodeJS installed, you can try it right now by running: - -```bash -npx create-freesewing-pattern -``` - -Or, consult our getting started guides -for [Linux](https://freesewing.dev/tutorials/getting-started-linux/), -[MacOS](https://freesewing.dev/tutorials/getting-started-mac/), -or [Windows](https://freesewing.dev/tutorials/getting-started-windows/). - -We also have a [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) that -walks you through your first parametric design, -and [a friendly community](https://freesewing.org/community/where/) with -people who can help you when you get stuck. - -## Support FreeSewing: Become a patron πŸ₯° - -FreeSewing is an open source project run by a community, -and financially supported by our patrons. - -If you feel what we do is worthwhile, and you can spend a few coind without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). - -## Links πŸ‘©β€πŸ’» - - - πŸ’» Makers website: [freesewing.org](https://freesewing.org) - - πŸ’» Developers website: [freesewing.dev](https://freesewing.dev) - - πŸ’¬ Chat: On Discord via [discord.freesewing.org](https://discord.freesewing.org/) - - βœ… Todo list/Kanban board: On Github via [todo.freesewing.org](https://todo.freesewing.org/) - - 🐦 Twitter: [@freesewing_org](https://twitter.com/freesewing_org) - - πŸ“· Instagram: [@freesewing_org](https://instagram.com/freesewing_org) - -## License: MIT πŸ€“ - -Β© [Joost De Cock](https://github.com/joostdecock). -See [the license file](https://github.com/freesewing/freesewing/blob/develop/LICENSE) for details. - -## Where to get help 🀯 - -Our [chatrooms on Discord](https://chat.freesewing.org/) are the best place to ask questions, -share your feedback, or just hang out. - -If you want to report a problem, please [create an issue](https://github.com/freesewing/freesewing/issues/new). - - - -## Contributors ✨ - -Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Adam Tomkins
Adam Tomkins

πŸ“–
Alexandre Ignjatovic
Alexandre Ignjatovic

πŸ’»
AlfaLyr
AlfaLyr

πŸ’» πŸ”Œ 🎨
Andrew James
Andrew James

πŸ“–
Anneke
Anneke

πŸ“– 🌍
Annie Kao
Annie Kao

πŸ“–
Anternative
Anternative

πŸ“–
Anthony
Anthony

πŸ’¬
Ari Grayzel-student
Ari Grayzel-student

πŸ’»
Bart
Bart

πŸ“–
BenJamesBen
BenJamesBen

πŸ’» πŸ“– πŸ›
Cameron Dubas
Cameron Dubas

πŸ“–
Carsten Biebricher
Carsten Biebricher

πŸ“–
Cathy Zoller
Cathy Zoller

πŸ“–
Chantal Lapointe
Chantal Lapointe

🌍
Damien PIQUET
Damien PIQUET

πŸ’»
Darigov Research
Darigov Research

πŸ“– πŸ€”
Elena FdR
Elena FdR

πŸ“– πŸ“
Emmanuel Nyachoke
Emmanuel Nyachoke

πŸ’» πŸ“–
Enoch Riese
Enoch Riese

πŸ’»
EvEkSwed
EvEkSwed

🌍
Fantastik-Maman
Fantastik-Maman

🌍
Forrest O.
Forrest O.

πŸ“–
FrΓ©dΓ©ric
FrΓ©dΓ©ric

🌍
Glenn Matthews
Glenn Matthews

πŸ“–
Greg Sadetsky
Greg Sadetsky

πŸ“–
Igor Couto
Igor Couto

πŸ›
Ikko Ashimine
Ikko Ashimine

πŸ“–
Irapeke
Irapeke

🌍
Jacek Sawoszczuk
Jacek Sawoszczuk

πŸ“–
Jason Williams
Jason Williams

πŸ“–
Jeremy Jackson
Jeremy Jackson

πŸ’»
Jeroen Hoek
Jeroen Hoek

πŸ“–
Joe Schofield
Joe Schofield

πŸ“–
Joebidido
Joebidido

🌍
Joost De Cock
Joost De Cock

🚧
Josh Essman
Josh Essman

πŸ“–
Kake
Kake

πŸ“–
Kapunahele Wong
Kapunahele Wong

πŸ“–
Karen
Karen

πŸ“– πŸ“‹
Katie McGinley
Katie McGinley

πŸ“–
Kieran Klaassen
Kieran Klaassen

πŸ’»
Kittycatou
Kittycatou

🌍
Kris
Kris

πŸ“–
Kristin Ruben
Kristin Ruben

πŸ’»
Loudepeuter
Loudepeuter

🌍
Lucian
Lucian

πŸ“‹
MA-TATAS
MA-TATAS

πŸ“–
Marcus
Marcus

🌍
Martin Tribo
Martin Tribo

πŸ“–
Nadege Michel
Nadege Michel

⚠️ πŸ“–
Natalia
Natalia

πŸ’» 🎨 πŸ“
Nathan Yergler
Nathan Yergler

πŸ“–
Nick Dower
Nick Dower

πŸ“– πŸ’» πŸ›
Nikhil Chelliah
Nikhil Chelliah

πŸ“–
OysteinHoiby
OysteinHoiby

πŸ’»
Patrick Forringer
Patrick Forringer

πŸ”Œ
Paul
Paul

πŸ“– πŸ“ 🌍
Phillip Thelen
Phillip Thelen

πŸ’»
Pixieish
Pixieish

πŸ“–
Prof. dr. Sorcha NΓ­ Dhubhghaill
Prof. dr. Sorcha NΓ­ Dhubhghaill

πŸ“–
Quentin FELIX
Quentin FELIX

πŸ’» 🎨
Rik Hekker
Rik Hekker

πŸ›
Sam Livingston-Gray
Sam Livingston-Gray

πŸ“–
Sanne
Sanne

πŸ’» πŸ“–
Sara Latorre
Sara Latorre

🌍
SeaZeeZee
SeaZeeZee

πŸ“– πŸ’»
SimonbJohnson
SimonbJohnson

πŸ›
SirCharlotte
SirCharlotte

🌍
Slylele
Slylele

πŸ“– 🌍
Soazillon
Soazillon

🌍
SoneaTheBest
SoneaTheBest

🌍
Stefan Sydow
Stefan Sydow

🌍 πŸ“– πŸ’»
TrΓ­ona
TrΓ­ona

πŸ“–
Unmutual
Unmutual

πŸ“–
Wouter van Wageningen
Wouter van Wageningen

πŸ’» 🎨 πŸ”§
amysews
amysews

πŸ“–
anna-puk
anna-puk

πŸ’»
beautifulsummermoon
beautifulsummermoon

🌍
berce
berce

πŸ“–
biou
biou

πŸ’»
bobgeorgethe3rd
bobgeorgethe3rd

πŸ’» πŸ“– 🎨
brmlyklr
brmlyklr

πŸ“–
chri5b
chri5b

πŸ’» ⚠️
dingcycle
dingcycle

🌍
drowned-in-books
drowned-in-books

πŸ’¬
econo202
econo202

πŸ“–
ericamattos
ericamattos

🌍
fightingrabbit
fightingrabbit

πŸ’»
gaylyndie
gaylyndie

πŸ“–
grimlokason
grimlokason

πŸ’»
hellgy
hellgy

🎨
jackseye
jackseye

πŸ“–
marckiesel
marckiesel

🌍
mesil
mesil

πŸ›
starfetch
starfetch

πŸ’» πŸ“– 🌍 🎨
timorl
timorl

πŸ’»
ttimearl
ttimearl

πŸ–‹
tuesgloomsday
tuesgloomsday

πŸ“–
valadaptive
valadaptive

πŸ’»
viocky
viocky

🌍
woolishboy
woolishboy

πŸ’»
yc
yc

🌍
- - - - - - -This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! - diff --git a/plugins/plugin-dimension/build.mjs b/plugins/plugin-dimension/build.mjs deleted file mode 100644 index 99ace216bc8..00000000000 --- a/plugins/plugin-dimension/build.mjs +++ /dev/null @@ -1,35 +0,0 @@ -/* This script will build the package with esbuild */ -import esbuild from 'esbuild' -import pkg from './package.json' assert { type: 'json' } - -// Create banner based on package info -const banner = `/** - * ${pkg.name} | v${pkg.version} - * ${pkg.description} - * (c) ${new Date().getFullYear()} ${pkg.author} - * @license ${pkg.license} - */` - -// Shared esbuild options -const options = { - banner: { js: banner }, - bundle: true, - entryPoints: ['src/index.mjs'], - format: 'esm', - outfile: 'dist/index.mjs', - external: ['@freesewing'], - metafile: process.env.VERBOSE ? true : false, - minify: process.env.NO_MINIFY ? false : true, - sourcemap: true, -} - -// Let esbuild generate the build -const build = async () => { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/plugins/plugin-dimension/data.mjs b/plugins/plugin-dimension/data.mjs deleted file mode 100644 index 2157d95674c..00000000000 --- a/plugins/plugin-dimension/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/plugin-dimension' -export const version = '3.0.0-alpha.4' -export const data = { name, version } diff --git a/plugins/plugin-dimension/img/example.png b/plugins/plugin-dimension/img/example.png deleted file mode 100644 index ef8b3f068252c00169928dfc37669903b2633aa7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 174048 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 diff --git a/plugins/plugin-dimension/package.json b/plugins/plugin-dimension/package.json deleted file mode 100644 index 33e67448239..00000000000 --- a/plugins/plugin-dimension/package.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "name": "@freesewing/plugin-dimension", - "version": "3.0.0-alpha.4", - "description": "A FreeSewing plugin to add dimensions to your (paperless) pattern", - "author": "Joost De Cock (https://github.com/joostdecock)", - "homepage": "https://freesewing.org/", - "repository": "github:freesewing/freesewing", - "license": "MIT", - "bugs": { - "url": "https://github.com/freesewing/freesewing/issues" - }, - "funding": { - "type": "individual", - "url": "https://freesewing.org/patrons/join" - }, - "keywords": [ - "freesewing", - "plugin", - "sewing pattern", - "sewing", - "design", - "parametric design", - "made to measure", - "diy", - "fashion" - ], - "type": "module", - "module": "dist/index.mjs", - "exports": { - ".": "./dist/index.mjs" - }, - "scripts": { - "build": "node build.mjs", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", - "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", - "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", - "tips": "node ../../scripts/help.mjs", - "lint": "npx eslint 'src/**' 'tests/*.mjs'", - "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "cibuild_step1": "node build.mjs", - "wbuild": "node build.mjs", - "wcibuild_step1": "node build.mjs" - }, - "peerDependencies": { - "@freesewing/core": "3.0.0-alpha.4" - }, - "dependencies": {}, - "devDependencies": { - "mocha": "10.0.0", - "chai": "4.2.0" - }, - "files": [ - "dist/*", - "README.md" - ], - "publishConfig": { - "access": "public", - "tag": "next" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=8" - } -} diff --git a/plugins/plugin-dimension/src/index.mjs b/plugins/plugin-dimension/src/index.mjs deleted file mode 100644 index bedb50b8961..00000000000 --- a/plugins/plugin-dimension/src/index.mjs +++ /dev/null @@ -1,164 +0,0 @@ -import { name, version } from '../data.mjs' - -const markers = ` - - - - - - -` -const prefix = '__paperless' - -function drawDimension(from, to, so, { Path, units }) { - const dimension = new Path() - .move(from) - .line(to) - .attr('class', 'mark') - .attr('data-text', so.text || units(from.dist(to))) - .attr('data-text-class', 'fill-mark center') - if (!so.noStartMarker) dimension.attributes.set('marker-start', 'url(#dimensionFrom)') - if (!so.noEndMarker) dimension.attributes.set('marker-end', 'url(#dimensionTo)') - - return dimension -} - -function drawLeader({ paths, Path }, from, to, id) { - paths[id] = new Path().move(from).line(to).attr('class', 'mark dotted') -} - -function hleader(so, type, props, id) { - const { Point } = props - let point - if (typeof so.y === 'undefined' || so[type].y === so.y) { - point = so[type] - } else { - point = new Point(so[type].x, so.y) - drawLeader(props, so[type], point, id) - } - - return point -} - -function vleader(so, type, props, id) { - const { Point } = props - let point - if (typeof so.x === 'undefined' || so[type].x === so.x) { - point = so[type] - } else { - point = new Point(so.x, so[type].y) - drawLeader(props, so[type], point, id) - } - - return point -} - -function lleader(so, type, props, id) { - let point, rot, other - if (type === 'from') { - rot = 1 - other = 'to' - } else { - rot = -1 - other = 'from' - } - if (typeof so.d === 'undefined') { - point = so[type] - } else { - point = so[type].shiftTowards(so[other], so.d).rotate(90 * rot, so[type]) - drawLeader(props, so[type], point, id) - } - - return point -} - -export const plugin = { - name, - version, - hooks: { - preRender: (svg) => { - if (svg.defs.indexOf(markers) === -1) svg.defs += markers - }, - }, - macros: { - // horizontal - hd: function (so, props) { - const { getId, paths } = props - const id = so.id || getId(prefix) - paths[id] = drawDimension( - hleader(so, 'from', props, id + '_ls'), - hleader(so, 'to', props, id + '_le'), - so, - props - ) - }, - // vertical - vd: function (so, props) { - const { getId, paths } = props - const id = so.id || getId(prefix) - paths[id] = drawDimension( - vleader(so, 'from', props, id + '_ls'), - vleader(so, 'to', props, id + '_le'), - so, - props - ) - }, - // linear - ld: function (so, props) { - const { getId, paths } = props - const id = so.id || getId(prefix) - paths[id] = drawDimension( - lleader(so, 'from', props, id + '_ls'), - lleader(so, 'to', props, id + '_le'), - so, - props - ) - }, - // path - pd: function (so, props) { - const { getId, paths, scale, units } = props - const id = so.id || getId(prefix) - if (typeof so.d === 'undefined') so.d = 10 * scale - const dimension = so.path - .offset(so.d) - .attr('class', 'mark') - .attr('data-text', so.text || units(so.path.length())) - .attr('data-text-class', 'fill-mark center') - if (!so.noStartMarker) dimension.attributes.set('marker-start', 'url(#dimensionFrom)') - if (!so.noEndMarker) dimension.attributes.set('marker-end', 'url(#dimensionTo)') - paths[id] = dimension - drawLeader(props, so.path.start(), dimension.start(), id + '_ls') - drawLeader(props, so.path.end(), dimension.end(), id + '_le') - }, - // Remove dimension - rmd: function (so, props) { - const { paths } = props - if (paths[so.id]) delete this.paths[so.id] - if (paths[`${so.id}_ls`]) delete paths[`${so.id}_ls`] - if (paths[`${so.id}_le`]) delete paths[`${so.id}_le`] - if (Array.isArray(so.ids)) { - for (const id of so.ids) { - if (paths[id]) delete paths[id] - if (paths[`${id}_ls`]) delete paths[`${id}_ls`] - if (paths[`${id}_le`]) delete paths[`${id}_le`] - } - } - }, - // Remove all dimensions (with standard prefix) - rmad: function (params, props) { - const toRemove = { - points: props.point, - paths: props.paths, - } - for (let type in toRemove) { - for (let id in props[type]) { - if (id.slice(0, prefix.length) === prefix) delete props[type][id] - } - } - }, - }, -} - -// More specifically named exports -export const dimensionPlugin = plugin -export const pluginDimension = plugin diff --git a/plugins/plugin-dimension/src/lib/markers.js b/plugins/plugin-dimension/src/lib/markers.js deleted file mode 100644 index d04ddc42dd9..00000000000 --- a/plugins/plugin-dimension/src/lib/markers.js +++ /dev/null @@ -1,9 +0,0 @@ -// FIXME identical arrow paths for dimensions, cutonfold, and grainline -export default ` - - - - - - -`; diff --git a/plugins/plugin-dimension/tests/plugin.test.mjs b/plugins/plugin-dimension/tests/plugin.test.mjs deleted file mode 100644 index 3a43f2e256c..00000000000 --- a/plugins/plugin-dimension/tests/plugin.test.mjs +++ /dev/null @@ -1,240 +0,0 @@ -import chai from 'chai' -import { Design, round } from '@freesewing/core' -import { plugin } from '../src/index.mjs' - -const expect = chai.expect - -describe('Dimension Plugin Tests', () => { - describe('Measures horizontal dimensions', function () { - const part = { - name: 'test', - draft: ({ Point, points, macro, part }) => { - points.from = new Point(10, 20) - points.to = new Point(200, 20) - macro('hd', { - from: points.from, - to: points.to, - y: 35, - }) - - return part - }, - plugins: [plugin], - } - const Test = new Design({ parts: [part] }) - const pattern = new Test() - pattern.draft() - - it('should draw a line and add text to indicate its length', () => { - const c = pattern.parts[0].test.paths['__paperless1'] - expect(c.attributes.get('class')).to.equal('mark') - expect(c.attributes.get('marker-start')).to.equal('url(#dimensionFrom)') - expect(c.attributes.get('marker-end')).to.equal('url(#dimensionTo)') - expect(c.attributes.get('data-text')).to.equal('19cm') - expect(c.attributes.get('data-text-class')).to.equal('fill-mark center') - expect(c.ops[0].type).to.equal('move') - expect(c.ops[1].type).to.equal('line') - expect(c.ops[0].to.x).to.equal(10) - expect(c.ops[0].to.y).to.equal(35) - expect(c.ops[1].to.x).to.equal(200) - expect(c.ops[1].to.y).to.equal(35) - }) - - it('should draw the start marker', () => { - const c = pattern.parts[0].test.paths['__paperless1_ls'] - expect(c.attributes.get('class')).to.equal('mark dotted') - expect(c.ops[0].type).to.equal('move') - expect(c.ops[1].type).to.equal('line') - expect(c.ops[0].to.x).to.equal(10) - expect(c.ops[0].to.y).to.equal(20) - expect(c.ops[1].to.x).to.equal(10) - expect(c.ops[1].to.y).to.equal(35) - }) - - it('should draw the end marker', () => { - const c = pattern.parts[0].test.paths['__paperless1_le'] - expect(c.attributes.get('class')).to.equal('mark dotted') - expect(c.ops[0].type).to.equal('move') - expect(c.ops[1].type).to.equal('line') - expect(c.ops[0].to.x).to.equal(200) - expect(c.ops[0].to.y).to.equal(20) - expect(c.ops[1].to.x).to.equal(200) - expect(c.ops[1].to.y).to.equal(35) - }) - }) - - describe('Measures vertical dimensions', () => { - const part = { - name: 'test', - draft: ({ Point, points, macro, part }) => { - points.from = new Point(10, 20) - points.to = new Point(10, 200) - macro('vd', { - from: points.from, - to: points.to, - x: 25, - }) - - return part - }, - plugins: [plugin], - } - const Test = new Design({ parts: [part] }) - const pattern = new Test() - pattern.draft() - - it('Should draw a line and add text to indicate its length', () => { - const c = pattern.parts[0].test.paths['__paperless1'] - expect(c.attributes.get('class')).to.equal('mark') - expect(c.attributes.get('marker-start')).to.equal('url(#dimensionFrom)') - expect(c.attributes.get('marker-end')).to.equal('url(#dimensionTo)') - expect(c.attributes.get('data-text')).to.equal('18cm') - expect(c.attributes.get('data-text-class')).to.equal('fill-mark center') - expect(c.ops[0].type).to.equal('move') - expect(c.ops[1].type).to.equal('line') - expect(c.ops[0].to.x).to.equal(25) - expect(c.ops[0].to.y).to.equal(20) - expect(c.ops[1].to.x).to.equal(25) - expect(c.ops[1].to.y).to.equal(200) - }) - - it('Should draw the start marker', () => { - const c = pattern.parts[0].test.paths['__paperless1_ls'] - expect(c.attributes.get('class')).to.equal('mark dotted') - expect(c.ops[0].type).to.equal('move') - expect(c.ops[1].type).to.equal('line') - expect(c.ops[0].to.x).to.equal(10) - expect(c.ops[0].to.y).to.equal(20) - expect(c.ops[1].to.x).to.equal(25) - expect(c.ops[1].to.y).to.equal(20) - }) - - it('Should draw the end marker', () => { - const c = pattern.parts[0].test.paths['__paperless1_le'] - expect(c.attributes.get('class')).to.equal('mark dotted') - expect(c.ops[0].type).to.equal('move') - expect(c.ops[1].type).to.equal('line') - expect(c.ops[0].to.x).to.equal(10) - expect(c.ops[0].to.y).to.equal(200) - expect(c.ops[1].to.x).to.equal(25) - expect(c.ops[1].to.y).to.equal(200) - }) - }) - - describe('Measures the length of straight lines', () => { - const part = { - name: 'test', - draft: ({ Point, points, macro, part }) => { - points.from = new Point(10, 10) - points.to = new Point(100, 100) - macro('ld', { - from: points.from, - to: points.to, - d: 15, - }) - - return part - }, - plugins: [plugin], - } - const Test = new Design({ parts: [part] }) - const pattern = new Test() - pattern.draft() - - it('Should draw a line and add text to indicate its length', () => { - const c = pattern.parts[0].test.paths['__paperless1'] - expect(c.attributes.get('class')).to.equal('mark') - expect(c.attributes.get('marker-start')).to.equal('url(#dimensionFrom)') - expect(c.attributes.get('marker-end')).to.equal('url(#dimensionTo)') - expect(c.attributes.get('data-text')).to.equal('12.73cm') - expect(c.attributes.get('data-text-class')).to.equal('fill-mark center') - expect(c.ops[0].type).to.equal('move') - expect(c.ops[1].type).to.equal('line') - expect(round(c.ops[0].to.x)).to.equal(20.61) - expect(round(c.ops[0].to.y)).to.equal(-0.61) - expect(round(c.ops[1].to.x)).to.equal(110.61) - expect(round(c.ops[1].to.y)).to.equal(89.39) - }) - - it('Should draw the start marker', () => { - const c = pattern.parts[0].test.paths['__paperless1_ls'] - expect(c.attributes.get('class')).to.equal('mark dotted') - expect(c.ops[0].type).to.equal('move') - expect(c.ops[1].type).to.equal('line') - expect(round(c.ops[0].to.x)).to.equal(10) - expect(round(c.ops[0].to.y)).to.equal(10) - expect(round(c.ops[1].to.x)).to.equal(20.61) - expect(round(c.ops[1].to.y)).to.equal(-0.61) - }) - - it('Should draw the end marker', () => { - const c = pattern.parts[0].test.paths['__paperless1_le'] - expect(c.attributes.get('class')).to.equal('mark dotted') - expect(c.ops[0].type).to.equal('move') - expect(c.ops[1].type).to.equal('line') - expect(round(c.ops[0].to.x)).to.equal(100) - expect(round(c.ops[0].to.y)).to.equal(100) - expect(round(c.ops[1].to.x)).to.equal(110.61) - expect(round(c.ops[1].to.y)).to.equal(89.39) - }) - }) - - describe('Measures curved lines', () => { - const part = { - name: 'test', - draft: ({ Point, points, macro, Path, part }) => { - points.from = new Point(10, 10) - points.cp1 = new Point(100, 10) - points.cp2 = new Point(10, 100) - points.to = new Point(100, 100) - macro('pd', { - path: new Path().move(points.from).curve(points.cp1, points.cp2, points.to), - d: 15, - }) - - return part - }, - plugins: [plugin], - } - const Test = new Design({ parts: [part] }) - const pattern = new Test() - pattern.draft() - - it('Should draw a line and add text to indicate the length', () => { - const c = pattern.parts[0].test.paths['__paperless1'] - expect(c.attributes.get('class')).to.equal('mark') - expect(c.attributes.get('marker-start')).to.equal('url(#dimensionFrom)') - expect(c.attributes.get('marker-end')).to.equal('url(#dimensionTo)') - expect(c.attributes.get('data-text')).to.equal('15.09cm') - expect(c.attributes.get('data-text-class')).to.equal('fill-mark center') - expect(c.ops[0].type).to.equal('move') - expect(c.ops[1].type).to.equal('curve') - expect(round(c.ops[0].to.x)).to.equal(10) - expect(round(c.ops[0].to.y)).to.equal(25) - expect(round(c.ops[1].to.x)).to.equal(37.15) - expect(round(c.ops[1].to.y)).to.equal(32.79) - }) - - it('Should draw the start marker', () => { - const c = pattern.parts[0].test.paths['__paperless1_ls'] - expect(c.attributes.get('class')).to.equal('mark dotted') - expect(c.ops[0].type).to.equal('move') - expect(c.ops[1].type).to.equal('line') - expect(c.ops[0].to.x).to.equal(10) - expect(c.ops[0].to.y).to.equal(10) - expect(c.ops[1].to.x).to.equal(10) - expect(c.ops[1].to.y).to.equal(25) - }) - - it('Should draw the end marker', () => { - const c = pattern.parts[0].test.paths['__paperless1_le'] - expect(c.attributes.get('class')).to.equal('mark dotted') - expect(c.ops[0].type).to.equal('move') - expect(c.ops[1].type).to.equal('line') - expect(c.ops[0].to.x).to.equal(100) - expect(c.ops[0].to.y).to.equal(100) - expect(c.ops[1].to.x).to.equal(100) - expect(c.ops[1].to.y).to.equal(115) - }) - }) -}) diff --git a/plugins/plugin-dimension/tests/shared.test.mjs b/plugins/plugin-dimension/tests/shared.test.mjs deleted file mode 100644 index 7bf4f668398..00000000000 --- a/plugins/plugin-dimension/tests/shared.test.mjs +++ /dev/null @@ -1,6 +0,0 @@ -// This file is auto-generated | Any changes you make will be overwritten. -import { plugin } from '../src/index.mjs' -import { sharedPluginTests } from '../../../tests/plugins/shared.mjs' - -// Run shared tests -sharedPluginTests(plugin)