identify holes in arrange step

This commit is contained in:
bakedpotatolord 2025-04-24 11:30:38 -06:00
commit 756e0dccb5
5 changed files with 151 additions and 46 deletions

View file

@ -81,6 +81,21 @@ kiri.load(api => {
// console.log({clear_traces: true});
});
};
//0 or less diameter means select all holes
CAM.holes = function(ondone, diam) {
kiri.client.sync();
const settings = api.conf.get();
const widgets = api.widgets.map();
kiri.client.send("cam_holes", { settings, diam }, output => {
let res = kiri.codec.decode(output)
console.log("output from driver",res)
ondone(res);
});
}
}
if (kiri.worker) {
@ -143,6 +158,22 @@ kiri.load(api => {
}
send.done({});
};
kiri.worker.cam_holes = async function(data, send) {
const { settings, diam } = data;
const widgets = Object.values(kiri.worker.cache);
const fresh = [];
for (let widget of widgets) {
if (await CAM.holes(settings, widget, diam)) {
fresh.push(widget);
}
}
// const fresh = widgets.filter(widget => CAM.traces(settings, widget, single));
send.done(kiri.codec.encode(fresh.map(widget => { return {
id: widget.id,
holes: widget.holes,
} } )));
}
}
});