diff --git a/app.js b/app.js index e61f71ea..0f03adc0 100644 --- a/app.js +++ b/app.js @@ -277,6 +277,7 @@ const script = { "kiri/main", "kiri/init", "kiri/export", + "kiri/tools", "@devices", "@icons" ].map(p => p.charAt(0) !== '@' ? `src/${p}.js` : p), diff --git a/src/kiri.js b/src/kiri.js index 32dd7354..6c7651cf 100644 --- a/src/kiri.js +++ b/src/kiri.js @@ -5,10 +5,11 @@ (function () { if (!self.kiri) { - self.kiri = { + let kiri = self.kiri = { beta: 3029, driver: {}, // driver modules - loader: [] // module loading: array of functions + loader: [], // module loading: array of functions + load: (fn) => kiri.loader.push(fn) }; } diff --git a/src/kiri/init.js b/src/kiri/init.js index 351238ef..d3324560 100644 --- a/src/kiri/init.js +++ b/src/kiri/init.js @@ -2604,6 +2604,7 @@ $('mode-cam').onclick = () => { API.mode.set('CAM') }; $('mode-laser').onclick = () => { API.mode.set('LASER') }; $('unrotate').onclick = () => { API.widgets.for(w => w.unrotate()) }; + $('lay-flat').onclick = () => { API.event.emit("tool.mesh.lay-flat") }; // rotation buttons let d = (Math.PI / 180) * 5; $('rot_x_lt').onclick = () => { API.selection.rotate(-d,0,0) }; diff --git a/src/kiri/main.js b/src/kiri/main.js index f14a3911..35b7ba73 100644 --- a/src/kiri/main.js +++ b/src/kiri/main.js @@ -3202,6 +3202,7 @@ // new module loading kiri.loader.forEach(mod => { mod(kiri.api)} ); + kiri.load = (mod) => { mod(kiri.api) }; // upon restore, seed presets API.event.emit('preset', API.conf.dbo()); diff --git a/src/kiri/tools.js b/src/kiri/tools.js new file mode 100644 index 00000000..4c700651 --- /dev/null +++ b/src/kiri/tools.js @@ -0,0 +1,5 @@ +kiri.load(function(api) { + api.event.on('tool.mesh.lay-flat', () => { + // console.log('initiate lay-flat'); + }); +}); \ No newline at end of file diff --git a/web/kiri/index.html b/web/kiri/index.html index c0baf042..4a3750d7 100644 --- a/web/kiri/index.html +++ b/web/kiri/index.html @@ -120,7 +120,7 @@
- +