2023-03-08 05:15:30 +00:00
|
|
|
import { name, version } from '../data.mjs'
|
2023-04-21 03:48:37 +00:00
|
|
|
// Defs only
|
|
|
|
import { buttonsDefs } from './buttons.mjs'
|
|
|
|
import { logoDefs } from './logo.mjs'
|
|
|
|
import { notchesDefs } from './notches.mjs'
|
2023-03-11 19:01:40 +01:00
|
|
|
// Macros only
|
2023-04-10 19:15:55 +02:00
|
|
|
import { bannerMacros } from './banner.mjs'
|
|
|
|
import { bannerboxMacros } from './bannerbox.mjs'
|
2023-03-11 19:01:40 +01:00
|
|
|
import { bartackMacros } from './bartack.mjs'
|
|
|
|
import { crossboxMacros } from './crossbox.mjs'
|
2023-04-15 17:09:29 -04:00
|
|
|
import { cutlistStores, cutlistHooks } from './cutlist.mjs'
|
2023-03-11 19:01:40 +01:00
|
|
|
import { scaleboxMacros } from './scalebox.mjs'
|
2023-04-15 15:14:56 +02:00
|
|
|
import { titleMacros } from './title.mjs'
|
2023-04-21 03:48:37 +00:00
|
|
|
// Defs and Macros
|
|
|
|
import { cutonfoldMacros, cutonfoldDefs } from './cutonfold.mjs'
|
|
|
|
import { dimensionsMacros, dimensionsDefs } from './dimensions.mjs'
|
|
|
|
import { grainlineMacros, grainlineDefs } from './grainline.mjs'
|
|
|
|
import { pleatMacros, pleatDefs } from './pleat.mjs'
|
|
|
|
import { sewtogetherMacros, sewtogetherDefs } from './sewtogether.mjs'
|
2023-03-08 05:15:30 +00:00
|
|
|
|
|
|
|
export const plugin = {
|
|
|
|
name,
|
|
|
|
version,
|
2023-03-11 19:01:40 +01:00
|
|
|
hooks: {
|
|
|
|
preRender: [
|
2023-04-21 03:48:37 +00:00
|
|
|
function (svg) {
|
|
|
|
const defs = [
|
|
|
|
...buttonsDefs,
|
|
|
|
...cutonfoldDefs,
|
|
|
|
...dimensionsDefs,
|
|
|
|
...grainlineDefs,
|
|
|
|
...logoDefs,
|
|
|
|
...notchesDefs,
|
|
|
|
...pleatDefs,
|
|
|
|
...sewtogetherDefs,
|
|
|
|
]
|
|
|
|
for (const def of defs) {
|
|
|
|
svg.defs.setIfUnset(
|
|
|
|
def.name,
|
|
|
|
typeof def.def === 'function' ? def.def(svg.pattern.settings[0].scale) : def.def
|
|
|
|
)
|
|
|
|
}
|
|
|
|
},
|
2023-03-11 19:01:40 +01:00
|
|
|
],
|
2023-04-15 17:09:29 -04:00
|
|
|
prePartDraft: [...cutlistHooks.prePartDraft],
|
2023-03-11 19:01:40 +01:00
|
|
|
},
|
|
|
|
macros: {
|
2023-04-10 19:15:55 +02:00
|
|
|
...bannerMacros,
|
|
|
|
...bannerboxMacros,
|
2023-03-11 19:01:40 +01:00
|
|
|
...bartackMacros,
|
|
|
|
...crossboxMacros,
|
|
|
|
...scaleboxMacros,
|
|
|
|
...cutonfoldMacros,
|
2023-04-10 19:15:55 +02:00
|
|
|
...dimensionsMacros,
|
2023-03-11 19:01:40 +01:00
|
|
|
...grainlineMacros,
|
|
|
|
...pleatMacros,
|
|
|
|
...sewtogetherMacros,
|
2023-04-15 15:14:56 +02:00
|
|
|
...titleMacros,
|
2023-03-11 19:01:40 +01:00
|
|
|
},
|
2023-04-15 17:09:29 -04:00
|
|
|
store: [...cutlistStores],
|
2023-03-08 05:15:30 +00:00
|
|
|
}
|
|
|
|
|
2023-04-10 15:20:32 +02:00
|
|
|
export const annotationsPlugin = plugin
|
|
|
|
export const pluginAnnotations = plugin
|