fix up dependencies

This commit is contained in:
Stewart Allen 2022-02-22 11:32:35 -05:00
commit 202bf2f8fd
25 changed files with 80 additions and 124 deletions

73
app.js
View file

@ -70,7 +70,7 @@ function init(mod) {
if (!crec) {
cache[path] = rec;
for (let d of rec.deps) find_refs(cache, d);
for (let u of rec.deps) find_refs(cache, u);
for (let u of rec.uses) find_refs(cache, u);
}
return;
}
@ -112,6 +112,12 @@ function init(mod) {
}
}
// if (xxxx) console.log({path, ...rec});
if (false) {
let seek = 'mesh/api';
if (rec.uses.indexOf(seek) >= 0 || rec.deps.indexOf(seek) >= 0) {
console.log({PULLS:seek, path});
}
}
callstack.pop();
}
@ -170,7 +176,7 @@ function init(mod) {
const list = val.map(p => p.charAt(0) === '&' ? p.substring(1) : p);
const cache = {};
const roots = [];
// xxxx = key === "kiri_work";
// xxxx = key === "mesh_work";
// for each path in the list, find deps and add to list
for (let path of val) {
let fc = path.charAt(0);
@ -385,68 +391,16 @@ const script = {
"@inject",
"@devices",
"@icons",
"kiri/ui",
"&main/kiri",
"&kiri/lang-en"
],
kiri_work : [
// "main/gapp",
"moto/license",
"@inject",
"ext/three",
"ext/pngjs",
"ext/jszip",
"ext/clip2",
"ext/earcut",
"add/array",
"add/three",
"add/class",
"geo/base",
"geo/wasm",
"geo/paths",
"geo/point",
"geo/points",
"geo/slope",
"geo/line",
"geo/bounds",
"geo/polygons",
"geo/polygon",
"geo/gyroid",
"geo/slicer",
"geo/mesh",
// "moto/broker",
"kiri/consts",
"kiri/pack",
"kiri/utils",
"kiri/slice",
"kiri/print",
"kiri/layers",
"kiri-mode/fdm/fill",
"kiri-mode/fdm/driver",
"kiri-mode/fdm/slice",
"kiri-mode/fdm/prepare",
"kiri-mode/fdm/export",
"kiri-mode/sla/driver",
"kiri-mode/sla/slice",
"kiri-mode/sla/export",
"kiri-mode/sla/x_cxdlp",
"kiri-mode/sla/x_photon",
"kiri-mode/cam/slicer",
"kiri-mode/cam/driver",
"kiri-mode/cam/ops",
"kiri-mode/cam/tool",
"kiri-mode/cam/topo",
"kiri-mode/cam/slice",
"kiri-mode/cam/prepare",
"kiri-mode/cam/export",
"kiri-mode/cam/animate",
"kiri-mode/laser/driver",
"kiri/widget",
"kiri/codec",
"kiri/worker",
"main/kiri",
"&main/kiri",
],
kiri_pool : [
// "main/gapp",
"moto/license",
"@inject",
"ext/clip2",
@ -476,9 +430,7 @@ const script = {
"main/kiri",
],
engine : [
// "main/gapp",
"moto/license",
"main/kiri",
"@inject",
"ext/clip2",
"data/local",
@ -504,14 +456,13 @@ const script = {
"kiri/layers",
"kiri/widget",
"kiri/codec",
"kiri-run/engine"
"kiri-run/engine",
"main/kiri",
],
frame : [
// "main/gapp",
"kiri-run/frame"
],
meta : [
// "main/gapp",
"moto/license",
"main/meta",
],

View file

@ -2,7 +2,6 @@
"main/gapp",
"moto/license",
"moto/broker",
"main/kiri",
"ext/three",
"ext/pngjs",
"ext/jszip",
@ -55,4 +54,5 @@
"kiri/codec",
"kiri/worker",
"kiri-run/engine",
"main/kiri",
]

View file

@ -4,9 +4,10 @@
// dep: geo.base
// dep: ext.clip2
// dep: ext.earcut
// dep: geo.point
// dep: geo.bounds
// use: geo.polygons
// dep: geo.polygons
gapp.register("geo.polygon", [], (root, exports) => {
const { base } = root;

View file

@ -4,6 +4,8 @@
// dep: geo.base
// dep: geo.point
// use: ext.clip2
// use: geo.slope
// use: geo.polygon
gapp.register("base.polygons", [], (root, exports) => {

View file

@ -2,12 +2,11 @@
"use strict";
// dep: kiri.api
// dep: kiri-mode.cam.driver
gapp.register("kiri-mode.cam.animate", [], (root, exports) => {
const { kiri } = root;
const { api, driver } = kiri;
const { driver } = kiri;
const { CAM } = driver;
let meshes = {},
@ -33,14 +32,14 @@ kiri.load(() => {
const { moto } = root;
const { space } = moto;
const { world } = space;
const { api } = kiri;
function animate_clear(api) {
kiri.client.animate_cleanup();
$('layer-animate').innerHTML = '';
$('layer-toolpos').innerHTML = '';
Object.keys(meshes).forEach(id => deleteMesh(id));
}
}
function animate(api, delay) {
kiri.client.animate_setup(api.conf.get(), data => {
@ -82,13 +81,13 @@ kiri.load(() => {
animate(data, ondone) {
kiri.client.send("animate", data, ondone);
},
animate_setup(settings, ondone) {
color = settings.controller.dark ? 0x888888 : 0;
unitScale = settings.controller.units === 'in' ? 1/25.4 : 1;
kiri.client.send("animate_setup", {settings}, ondone);
},
animate_cleanup(data, ondone) {
kiri.client.send("animate_cleanup", data, ondone);
}
@ -109,7 +108,7 @@ kiri.load(() => {
color
});
const mesh = new THREE.LineSegments(geo, mat);
world.add(mesh);
space.world.add(mesh);
meshes[id] = mesh;
}
@ -129,7 +128,7 @@ kiri.load(() => {
}
function deleteMesh(id) {
world.remove(meshes[id]);
space.world.remove(meshes[id]);
delete meshes[id];
}
@ -244,7 +243,7 @@ kiri.load(() => {
kiri.worker.animate_setup = function(data, send) {
const { settings } = data;
const { process } = settings;
const print = current.print;
const print = worker.print;
const density = parseInt(settings.controller.animesh) * 1000;
pathIndex = 0;
@ -519,7 +518,7 @@ kiri.load(() => {
pos[(dx * pix + dy) * 3 + 2] = -dz;
}
send.data({ mesh_add: { id:++toolID, pos, ind }});
}
}
// load renderer code in worker context only
if (kiri.worker && false)

View file

@ -3,13 +3,6 @@
"use strict";
// 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;

View file

@ -2,11 +2,6 @@
"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

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

View file

@ -3,7 +3,6 @@
"use strict";
// dep: geo.base
// dep: kiri.api
// dep: kiri-mode.fdm.driver
gapp.register("kiri-mode.fdm.fill", [], (root, exports) => {

View file

@ -6,12 +6,10 @@
// dep: geo.paths
// dep: geo.point
// dep: geo.polygons
// dep: kiri.api
// dep: kiri.utils
// dep: kiri.slice
// dep: kiri.consts
// dep: kiri-mode.fdm.driver
// use: kiri.client
gapp.register("kiri-mode.fdm.prepare", [], (root, exports) => {
const { base, kiri, noop } = root;

View file

@ -5,7 +5,6 @@
// dep: geo.base
// dep: geo.slicer
// dep: geo.polygons
// dep: kiri.api
// dep: kiri.utils
// dep: kiri.consts
// dep: kiri-mode.fdm.driver

View file

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

View file

@ -3,10 +3,6 @@
"use strict";
// use: kiri.print
// 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

@ -8,6 +8,7 @@
// dep: geo.polygons
// dep: kiri.slice
// dep: kiri-mode.sla.driver
// use: ext.pngjs
gapp.register("kiri-mode.sla.slice", [], (root, exports) => {
const { base, kiri } = root;

View file

@ -2,29 +2,20 @@
"use strict";
(function() {
gapp.register("kiri-run.engine", [], (root, exports) => {
let KIRI = self.kiri = self.kiri || {};
KIRI.newEngine = ()=> { return new Engine ()};
if (!KIRI.api) {
KIRI.api = {
event: {
emit: () => {}
}
};
}
const { kiri } = root;
class Engine {
constructor() {
this.widget = KIRI.newWidget();
this.widget = kiri.newWidget();
this.settings = {
mode: "FDM",
controller: {},
render: false,
filter: { FDM: "internal" },
device: KIRI.conf.defaults.fdm.d, // device profile
process: KIRI.conf.defaults.fdm.p, // slicing settings
device: kiri.conf.defaults.fdm.d, // device profile
process: kiri.conf.defaults.fdm.p, // slicing settings
widget: { [ this.widget.id ]: {} }
};
this.listener = () => {};
@ -45,7 +36,7 @@ class Engine {
}
clear() {
KIRI.api.platform.clear();
kiri.api.platform.clear();
}
parse(data) {
@ -123,10 +114,10 @@ class Engine {
slice() {
return new Promise((accept, reject) => {
KIRI.client.clear();
KIRI.client.sync([ this.widget ]);
KIRI.client.rotate(this.settings);
KIRI.client.slice(this.settings, this.widget, msg => {
kiri.client.clear();
kiri.client.sync([ this.widget ]);
kiri.client.rotate(this.settings);
kiri.client.slice(this.settings, this.widget, msg => {
this.listener({slice:msg});
if (msg.error) {
reject(msg.error);
@ -135,13 +126,13 @@ class Engine {
accept(this);
}
});
KIRI.client.unrotate(this.settings);
kiri.client.unrotate(this.settings);
});
}
prepare() {
return new Promise((accept, reject) => {
KIRI.client.prepare(this.settings, update => {
kiri.client.prepare(this.settings, update => {
this.listener({prepare:{update}});
}, done => {
this.listener({prepare:{done:true}});
@ -153,7 +144,7 @@ class Engine {
export() {
return new Promise((accept, reject) => {
let output = [];
KIRI.client.export(this.settings, segment => {
kiri.client.export(this.settings, segment => {
this.listener({export:{segment}});
output.push(segment);
}, done => {
@ -164,4 +155,12 @@ class Engine {
}
}
})();
function newEngine() {
return new Engine();
}
gapp.overlay(kiri, {
newEngine
});
});

View file

@ -6,8 +6,11 @@
// dep: kiri.export
// dep: moto.space
// dep: kiri-mode.cam.driver
// use: kiri-mode.cam.client
// dep: kiri-mode.fdm.driver
// dep: kiri-mode.fdm.client
// dep: kiri-mode.sla.driver
// dep: kiri-mode.sla.client
// dep: kiri-mode.laser.driver
gapp.register("kiri.function", [], (root, exports) => {

View file

@ -22,6 +22,7 @@
// use: kiri.alerts
// use: kiri.files
// use: kiri.frame
// use: moto.ajax
gapp.register("kiri.main", [], (root, exports) => {
const { base, data, kiri, moto, noop } = root;

View file

@ -7,6 +7,7 @@
// dep: kiri.utils
// dep: moto.space
// dep: data.local
// use: kiri.widgets
gapp.register("kiri.settings", [], (root, exports) => {
const { data, kiri, moto, noop } = self;

View file

@ -2,6 +2,8 @@
"use strict";
// use: kiri.init
// use: kiri.main
gapp.register("kiri.ui", [], (root, exports) => {
const { kiri } = root;

View file

@ -2,8 +2,6 @@
"use strict";
// dep: data.local
// use: moto.ajax
gapp.register("kiri.utils", [], (root, exports) => {
const { kiri, data } = root;

View file

@ -6,7 +6,6 @@ gapp.register("kiri.widgets", [], (root, exports) => {
const { data, kiri, moto, noop } = root;
const { api, consts, utils, newWidget, Widget } = kiri;
const { space } = moto;
let WIDGETS = [];
@ -89,7 +88,7 @@ function meshes() {
function opacity(value) {
api.widgets.each(w => w.setOpacity(value));
space.update();
moto.space.update();
}
const widgets = api.widgets = {

View file

@ -2,6 +2,27 @@
"use strict";
// dep: geo.base
// dep: geo.polygons
// dep: geo.wasm
// dep: kiri.codec
// use: kiri-mode.cam.driver
// use: kiri-mode.cam.animate
// use: kiri-mode.cam.slice
// use: kiri-mode.cam.prepare
// use: kiri-mode.cam.export
// use: kiri-mode.cam.tool
// use: kiri-mode.fdm.driver
// use: kiri-mode.fdm.slice
// use: kiri-mode.fdm.prepare
// use: kiri-mode.fdm.export
// use: kiri-mode.sla.driver
// use: kiri-mode.sla.slice
// use: kiri-mode.sla.export
// use: kiri-mode.fdm.slice
// use: kiri-mode.fdm.prepare
// use: kiri-mode.fdm.export
// use: kiri-mode.laser.driver
gapp.register("kiri.worker", [], (root, exports) => {
const { base, kiri } = root;

View file

@ -2,8 +2,6 @@
"use strict";
// use: kiri.init
// use: kiri.main
gapp.main("main.kiri", [], (root) => {
const { kiri } = root;

View file

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

View file

@ -2,6 +2,7 @@
"use strict";
// dep: data.local
gapp.register("moto.ajax", [], (root, exports) => {
function rnd() {