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) { if (!crec) {
cache[path] = rec; cache[path] = rec;
for (let d of rec.deps) find_refs(cache, d); 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; return;
} }
@ -112,6 +112,12 @@ function init(mod) {
} }
} }
// if (xxxx) console.log({path, ...rec}); // 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(); callstack.pop();
} }
@ -170,7 +176,7 @@ function init(mod) {
const list = val.map(p => p.charAt(0) === '&' ? p.substring(1) : p); const list = val.map(p => p.charAt(0) === '&' ? p.substring(1) : p);
const cache = {}; const cache = {};
const roots = []; const roots = [];
// xxxx = key === "kiri_work"; // xxxx = key === "mesh_work";
// for each path in the list, find deps and add to list // for each path in the list, find deps and add to list
for (let path of val) { for (let path of val) {
let fc = path.charAt(0); let fc = path.charAt(0);
@ -385,68 +391,16 @@ const script = {
"@inject", "@inject",
"@devices", "@devices",
"@icons", "@icons",
"kiri/ui",
"&main/kiri", "&main/kiri",
"&kiri/lang-en" "&kiri/lang-en"
], ],
kiri_work : [ kiri_work : [
// "main/gapp",
"moto/license",
"@inject", "@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", "kiri/worker",
"main/kiri", "&main/kiri",
], ],
kiri_pool : [ kiri_pool : [
// "main/gapp",
"moto/license", "moto/license",
"@inject", "@inject",
"ext/clip2", "ext/clip2",
@ -476,9 +430,7 @@ const script = {
"main/kiri", "main/kiri",
], ],
engine : [ engine : [
// "main/gapp",
"moto/license", "moto/license",
"main/kiri",
"@inject", "@inject",
"ext/clip2", "ext/clip2",
"data/local", "data/local",
@ -504,14 +456,13 @@ const script = {
"kiri/layers", "kiri/layers",
"kiri/widget", "kiri/widget",
"kiri/codec", "kiri/codec",
"kiri-run/engine" "kiri-run/engine",
"main/kiri",
], ],
frame : [ frame : [
// "main/gapp",
"kiri-run/frame" "kiri-run/frame"
], ],
meta : [ meta : [
// "main/gapp",
"moto/license", "moto/license",
"main/meta", "main/meta",
], ],

View file

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

View file

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

View file

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

View file

@ -2,12 +2,11 @@
"use strict"; "use strict";
// dep: kiri.api
// dep: kiri-mode.cam.driver // dep: kiri-mode.cam.driver
gapp.register("kiri-mode.cam.animate", [], (root, exports) => { gapp.register("kiri-mode.cam.animate", [], (root, exports) => {
const { kiri } = root; const { kiri } = root;
const { api, driver } = kiri; const { driver } = kiri;
const { CAM } = driver; const { CAM } = driver;
let meshes = {}, let meshes = {},
@ -33,7 +32,7 @@ kiri.load(() => {
const { moto } = root; const { moto } = root;
const { space } = moto; const { space } = moto;
const { world } = space; const { api } = kiri;
function animate_clear(api) { function animate_clear(api) {
kiri.client.animate_cleanup(); kiri.client.animate_cleanup();
@ -109,7 +108,7 @@ kiri.load(() => {
color color
}); });
const mesh = new THREE.LineSegments(geo, mat); const mesh = new THREE.LineSegments(geo, mat);
world.add(mesh); space.world.add(mesh);
meshes[id] = mesh; meshes[id] = mesh;
} }
@ -129,7 +128,7 @@ kiri.load(() => {
} }
function deleteMesh(id) { function deleteMesh(id) {
world.remove(meshes[id]); space.world.remove(meshes[id]);
delete meshes[id]; delete meshes[id];
} }
@ -244,7 +243,7 @@ kiri.load(() => {
kiri.worker.animate_setup = function(data, send) { kiri.worker.animate_setup = function(data, send) {
const { settings } = data; const { settings } = data;
const { process } = settings; const { process } = settings;
const print = current.print; const print = worker.print;
const density = parseInt(settings.controller.animesh) * 1000; const density = parseInt(settings.controller.animesh) * 1000;
pathIndex = 0; pathIndex = 0;

View file

@ -3,13 +3,6 @@
"use strict"; "use strict";
// dep: main.kiri // 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) => { gapp.register("kiri-mode.cam.driver", [], (root, exports) => {
const { kiri } = root; const { kiri } = root;

View file

@ -2,11 +2,6 @@
"use strict"; "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) => { gapp.register("kiri-mode.fdm.driver", [], (root, exports) => {
const { kiri } = root; const { kiri } = root;

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -3,10 +3,6 @@
"use strict"; "use strict";
// use: kiri.print // 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) => { gapp.register("kiri-mode.sla.driver", [], (root, exports) => {
const { kiri } = root const { kiri } = root

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -2,6 +2,27 @@
"use strict"; "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) => { gapp.register("kiri.worker", [], (root, exports) => {
const { base, kiri } = root; const { base, kiri } = root;

View file

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

View file

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

View file

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