modify kiri ui to use updated dependency management

This commit is contained in:
Stewart Allen 2022-02-22 00:05:29 -05:00
commit d7be37478d
38 changed files with 300 additions and 230 deletions

View file

@ -2,6 +2,7 @@
"use strict";
// use: add.array
gapp.register("add.class", [], (root, exports) => {
self.ArrayWriter = class ArrayWriter {

View file

@ -2,6 +2,8 @@
"use strict";
// use: add.array
// use: add.class
gapp.register("geo.base", [], (root, exports) => {
const base = root.base = {};

View file

@ -2,6 +2,7 @@
"use strict";
// dep: geo.base
// dep: ext.clip2
// dep: geo.point
// dep: geo.bounds

View file

@ -10,12 +10,15 @@
// dep: geo.line
// dep: geo.point
// dep: geo.polygon
// dep: geo.polygons
gapp.register("geo.slicer", [], (root, exports) => {
const { base } = root;
const { config, util, polygons } = base
const { newOrderedLine, newPolygon, newPoint } = base;
const POLY = base.polygons;
function dval(v, dv) {
return v !== undefined ? v : dv;
}

View file

@ -2,6 +2,8 @@
"use strict";
// dep: kiri-mode.cam.driver
// use: kiri-mode.cam.animate
gapp.register("kiri-mode.cam.client", [], (root, exports) => {
const { base, kiri } = root;

View file

@ -5,11 +5,15 @@
// dep: main.kiri
// use: kiri.api
// use: kiri.widgets
// use: kiri-mode.cam.client
// use: kiri-mode.cam.slice
// use: kiri-mode.cam.prepare
// use: kiri-mode.cam.export
// use: kiri-mode.cam.tool
gapp.register("kiri-mode.cam.driver", [], (root, exports) => {
const { kiri } = root;
const { driver } = kiri;
const CAM = driver.CAM = {};
CAM.process = {

View file

@ -4,6 +4,7 @@
// dep: geo.base
// dep: geo.polygons
// dep: kiri-mode.cam.driver
gapp.register("kiri-mode.cam.export", [], (root, exports) => {
const { base, kiri } = root;

View file

@ -5,6 +5,8 @@
// dep: geo.paths
// dep: geo.point
// dep: geo.polygons
// dep: kiri-mode.cam.driver
// use: kiri-mode.cam.ops
gapp.register("kiri-mode.cam.prepare", [], (root, exports) => {
const { base, kiri } = root;

View file

@ -5,6 +5,9 @@
// dep: geo.point
// dep: geo.polygons
// dep: kiri.slice
// dep: kiri-mode.cam.driver
// use: kiri-mode.cam.slicer
// use: kiri-mode.cam.ops
gapp.register("kiri-mode.cam.slice", [], (root, exports) => {
const { base, kiri } = root;

View file

@ -2,6 +2,7 @@
"use strict";
// dep: kiri-mode.cam.driver
gapp.register("kiri-mode.cam.tools", [], (root, exports) => {
const { kiri } = root;

View file

@ -2,6 +2,13 @@
"use strict";
// dep: geo.base
// dep: geo.line
// dep: geo.point
// dep: geo.polygon
// dep: geo.polygons
// dep: kiri.slice
// dep: kiri-mode.cam.driver
gapp.register("kiri-mode.cam.tools", [], (root, exports) => {
const { base, kiri } = root;

View file

@ -3,6 +3,10 @@
"use strict";
// use: kiri.api
// use: kiri-mode.fdm.client
// use: kiri-mode.fdm.slice
// use: kiri-mode.fdm.prepare
// use: kiri-mode.fdm.export
gapp.register("kiri-mode.fdm.driver", [], (root, exports) => {
const { kiri } = root;

View file

@ -4,7 +4,7 @@
// dep: geo.base
// dep: kiri.api
// dep: kiri.util
// dep: kiri.utils
// dep: kiri-mode.fdm.driver
gapp.register("kiri-mode.fdm.export", [], (root, exports) => {

View file

@ -11,7 +11,7 @@
// dep: kiri.slice
// dep: kiri.consts
// dep: kiri-mode.fdm.driver
// use: kiri.worker
// use: kiri.client
gapp.register("kiri-mode.fdm.prepare", [], (root, exports) => {
const { base, kiri, noop } = root;
@ -1403,7 +1403,7 @@ function slicePrintPath(print, slice, startPoint, offset, output, opt = {}) {
}
FDM.isDark = function() {
return current.print.settings.controller.dark ? true : false;
return worker.print.settings.controller.dark ? true : false;
};
FDM.rateToColor = function(rate, max) {

View file

@ -3,13 +3,14 @@
"use strict";
// dep: geo.base
// dep: geo.slicer
// dep: geo.polygons
// dep: kiri.api
// dep: kiri.fill
// dep: kiri.utils
// dep: kiri.consts
// dep: kiri-mode.fdm.driver
// use: add.clip2
// use: kiri-mode.fdm.fill
// use: ext.clip2
// use: add.three
gapp.register("kiri-mode.fdm.slice", [], (root, exports) => {

View file

@ -2,8 +2,8 @@
"use strict";
// dep: base.polygons
// dep: base.point
// dep: geo.polygons
// dep: geo.point
// dep: kiri.slice
gapp.register("kiri-mode.laser.driver", [], (root, exports) => {

View file

@ -3,7 +3,10 @@
"use strict";
// use: kiri.print
// use: kiri.worker
// use: kiri.client
// use: kiri-mode.sla.client
// use: kiri-mode.sla.slice
// use: kiri-mode.sla.export
gapp.register("kiri-mode.sla.driver", [], (root, exports) => {
const { kiri } = root

View file

@ -5,7 +5,7 @@
// dep: geo.base
// dep: kiri-mode.sla.driver
// dep: kiri-mode.sla.x_cxdlp
// dep: kiri-mode.sla.x_photons
// dep: kiri-mode.sla.x_photon
gapp.register("kiri-mode.sla.export", [], (root, exports) => {
const { base, kiri } = root

View file

@ -2,9 +2,9 @@
"use strict";
// dep: main.kiri
// dep: data.local
// dep: kiri.utils
// dep: kiri.consts
// use: kiri.client
// use: kiri.settings
gapp.register("kiri.api", [], (root, exports) => {

View file

@ -4,6 +4,10 @@
// dep: main.kiri
// dep: geo.base
// dep: geo.polygon
// dep: kiri.widget
// dep: kiri.slice
// dep: kiri.layers
gapp.register("kiri.codec", [], (root, exports) => {
const { base, kiri } = root;

View file

@ -6,6 +6,7 @@
// dep: data.local
// dep: kiri.consts
// dep: kiri.api
// dep: kiri.main
gapp.register("kiri.export", [], (root, exports) => {
const { base, data, kiri } = root;

View file

@ -5,7 +5,6 @@
// use: load.stl
// use: load.svg
// use: kiri.api
// use: kiri.feature
// use: kiri.platform
// use: kiri.settings
// use: kiri.widget

View file

@ -3,7 +3,12 @@
"use strict";
// dep: kiri.api
// dep: kiri.export
// dep: moto.space
// dep: kiri-mode.cam.driver
// dep: kiri-mode.fdm.driver
// dep: kiri-mode.sla.driver
// dep: kiri-mode.laser.driver
gapp.register("kiri.function", [], (root, exports) => {
const { kiri, noop } = root;

View file

@ -4,10 +4,13 @@
// dep: geo.base
// dep: kiri.api
// dep: kiri.main
// dep: kiri.lang
// dep: kiri.stats
// dep: kiri.consts
// dep: kiri.platform
// dep: kiri.selection
// use: kiri.pack
gapp.register("kiri.init", [], (root, exports) => {
const { base, kiri } = root;
@ -2891,7 +2894,6 @@ gapp.register("kiri.init", [], (root, exports) => {
// if a language needs to load, the script is injected and loaded
// first. once this loads, or doesn't, the initialization begins
let lang = SETUP.ln ? SETUP.ln[0] : sdb.getItem('kiri-lang') || kiri.lang.get();
// inject language script if not english
if (lang && lang !== 'en' && lang !== 'en-us') {
let map = kiri.lang.map(lang);

View file

@ -2,9 +2,29 @@
"use strict";
// dep: main.kiri
// dep: moto.license
// dep: geo.base
// dep: kiri.ui
// dep: kiri.api
// dep: kiri.conf
// dep: kiri.lang
// dep: kiri.utils
// dep: kiri.files
// dep: kiri.consts
// dep: kiri.widget
// dep: kiri.stats
// dep: kiri.stacks
// dep: kiri.function
// dep: kiri.platform
// dep: kiri.selection
// dep: kiri.settings
// use: kiri.alerts
// use: kiri.files
// use: kiri.frame
gapp.register("kiri.main", [], (root, exports) => {
const { base, data, load, kiri, moto, noop } = root;
const { base, data, kiri, moto, noop } = root;
const { api, consts, lang, Widget, newWidget, utils, stats } = kiri;
const { areEqual, parseOpt, encodeOpt, ajax, o2js, js2o, ls2o } = utils;
const { feature, platform, selection, settings } = api;
@ -939,7 +959,7 @@ gapp.register("kiri.main", [], (root, exports) => {
DOC.onkeydown = function (evt) { if (evt.keyCode == 27) evt.preventDefault() }
// complete module loading
kiri.load_exec();
// kiri.load_exec();
// upon restore, seed presets
api.event.emit('preset', api.conf.dbo());

View file

@ -2,6 +2,8 @@
"use strict";
gapp.register("kiri.minion", [], (root, exports) => {
let BASE = self.base,
KIRI = self.kiri,
UTIL = BASE.util,
@ -125,3 +127,5 @@ const funcs = {
reply({ seq, error: "invalid command" });
}
};
});

View file

@ -3,6 +3,7 @@
"use strict";
// dep: moto.space
// dep: moto.webui
// dep: kiri.api
// dep: kiri.consts
// dep: kiri.utils

View file

@ -4,11 +4,9 @@
gapp.register("kiri.ui", [], (root, exports) => {
if (kiri.ui) return;
const { kiri } = root;
let SELF = self,
KIRI = self.kiri,
DOC = SELF.document,
let DOC = self.document,
inputAction = null,
lastGroup = null,
lastDiv = null,
@ -36,9 +34,9 @@ gapp.register("kiri.ui", [], (root, exports) => {
lastPop = null,
savePop = null;
SELF.$ = (SELF.$ || function (id) { return DOC.getElementById(id) } );
self.$ = (self.$ || function (id) { return DOC.getElementById(id) } );
KIRI.ui = {
kiri.ui = {
prefix: function(pre) { prefix = pre; return kiri.ui },
inputAction: function(fn) { inputAction = fn; return kiri.ui },
lastChange: function() { return lastChange },
@ -128,7 +126,7 @@ gapp.register("kiri.ui", [], (root, exports) => {
}
$('mod-any').innerHTML = html.join('');
function done(value) {
KIRI.api.modal.hide();
kiri.api.modal.hide();
setTimeout(() => { resolve(value) }, 150);
}
if (iid) {
@ -148,7 +146,7 @@ gapp.register("kiri.ui", [], (root, exports) => {
}
});
setTimeout(() => {
KIRI.api.modal.show('any');
kiri.api.modal.show('any');
if (iid) {
iid.focus();
iid.selectionStart = iid.value.length;

View file

@ -3,11 +3,10 @@
"use strict";
// dep: data.local
// dep: main.kiri
// use: moto.ajax
gapp.register("kiri.utils", [], (root, exports) => {
const { kiri, moto, data } = root;
const { kiri, data } = root;
function parseOpt(ov) {
let opt = {}, kv, kva;

View file

@ -2,6 +2,13 @@
"use strict";
// dep: geo.base
// dep: geo.mesh
// dep: geo.point
// dep: geo.points
// dep: geo.polygons
// dep: kiri.utils
// use: kiri.codec
gapp.register("kiri.widget", [], (root, exports) => {
const { base, kiri } = root;

View file

@ -2,7 +2,9 @@
"use strict";
const { base, kiri } = self;
gapp.register("kiri.worker", [], (root, exports) => {
const { base, kiri } = root;
const { util, polygons, wasm_ctrl } = base;
const { codec } = kiri;
const { time } = util;
@ -874,5 +876,7 @@ dispatch.onmessage = self.onmessage = function(e) {
}
};
});
// load kiri modules
kiri.load_exec(dispatch);
// kiri.load_exec(dispatch);

View file

@ -66,26 +66,7 @@ gapp.overlay = Object.assign;
// register module without a load function
gapp.register = (name, deps, fn) => {
gapp.load(undefined, name, deps);
if (fn) {
let toks = name.split('.');
let root = self;
let map = toks.pop();
for (let tok of toks) {
if (!root[tok]) {
dbug.debug({creating_root: tok, for: name});
root = root[tok] = {};
} else {
root = root[tok];
}
}
let tmp = root[map] || {};
fn(self, exports => {
if (exports) {
return root[map] = Object.assign(tmp, exports);
}
});
}
gapp.load(fn, name, deps);
};
// register module with a load function
@ -108,7 +89,10 @@ gapp.check = (name, deps = []) => {
};
// perform dependency checks and run module load functions
gapp.main = (app, deps, fn) => {
gapp.main = (app, deps, post, pre) => {
const root = self;
// optional fn to run before loading
if (pre) pre(root);
// app loader may also pass deps
gapp.check(app, deps);
// load mods after checking if dependency is present
@ -123,13 +107,29 @@ gapp.main = (app, deps, fn) => {
}
// mods with no function are allowed so they can be depended on
if (fn) {
mod.fn();
let toks = name.split('.');
let map = toks.pop();
let path = root;
for (let tok of toks) {
if (!path[tok]) {
dbug.debug({creating_root: tok, for: name});
path = path[tok] = {};
} else {
path = path[tok];
}
}
let tmp = path[map] || {};
fn(root, exports => {
if (exports) {
return path[map] = Object.assign(tmp, exports);
}
});
}
}
// force runtime error if gapp.load() called gapp.main()
mods = null;
// optional if not called inline with startup
if (fn) fn(self);
if (post) post(root);
};
})();

View file

@ -2,22 +2,32 @@
"use strict";
gapp.register("main.kiri", [], (root) => {
// use: kiri.init
// use: kiri.main
gapp.main("main.kiri", [], (root) => {
const modfns = root.kirimod = [];
const { kiri } = root;
const { api } = kiri;
const kiri = root.kiri = {
beta: 3303,
driver: {}, // driver modules
load(fn) {
modfns.push(fn);
},
load_exec(api) {
// complete module loading
modfns.forEach(modfn => { modfn(api || kiri.api)} );
// rewrite load() to be immediate post-finalize
kiri.load = (modfn) => { modfn(api || kiri.api) };
}
};
// complete module loading
kiri.load_exec();
}, (root) => {
const modfns = root.kirimod = [];
const kiri = root.kiri = {
beta: 3303,
driver: {}, // driver modules
load(fn) {
modfns.push(fn);
},
load_exec(api) {
// complete module loading
modfns.forEach(modfn => { modfn(api || kiri.api)} );
// rewrite load() to be immediate post-finalize
kiri.load = (modfn) => { modfn(api || kiri.api) };
}
};
});

View file

@ -7,9 +7,9 @@
// dep: moto.broker
// dep: moto.space
// dep: mesh.util
// dep: add.array
// dep: ext.three
// dep: ext.three-bgu
// use: add.array
gapp.register("mesh.api", [], (root, exports) => {
const { Matrix4, Vector3 } = THREE;

View file

@ -2,12 +2,9 @@
"use strict";
gapp.register("moto.client", [
"add.array", // dep: add.array
"moto.broker", // dep: moto.broker
], (root, exports) => {
// dep: add.array
// dep: moto.broker
gapp.register("moto.client", [], (root, exports) => {
let ccvalue = self.navigator ? navigator.hardwareConcurrency || 1 : 1,
ccmax = ccvalue > 3 ? ccvalue - 1 : 1,

View file

@ -3,13 +3,10 @@
"use strict";
// dep: ext.tween
gapp.register("moto.space", [
'add.three', // dep: add.three
'add.array', // dep: add.array
'moto.orbit' // dep: moto.orbit
], (root, exports) => {
// dep: add.three
// dep: add.array
// dep: moto.orbit
gapp.register("moto.space", [], (root, exports) => {
const { moto } = root;