force cache clear only when synth widgets present
This commit is contained in:
parent
624b1f821a
commit
3283d879ef
5 changed files with 13 additions and 22 deletions
7
notes.md
7
notes.md
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
## `C` cosmetic, `F` functional, `P` performance, `B` bug fix
|
||||
|
||||
* `B` client/worker cache invalidated by latest rotation work
|
||||
* `B` client/worker cache invalidated by latest rotation work. revisit sync.
|
||||
* `B` normals possibly inverted on faces in 2D to 3D conversion
|
||||
* `B` origin bug (Onshape?) when switching modes in 2.5 and 2.6
|
||||
|
||||
|
|
@ -19,13 +19,12 @@
|
|||
|
||||
# FDM
|
||||
|
||||
* `B` fix adaptive slicing with multi-extruder
|
||||
* `B` infill densities are inaccurate
|
||||
* `B` fix support projection/end with grouped parts
|
||||
* `B` multi-extruder rendering of raft fails to offset the rest of the print
|
||||
* `B` multi-extruder purge blocks fail to generate properly for rafts
|
||||
* `B` first layer support speed should be same as shell speed
|
||||
|
||||
* `F` test outlining solid projected areas
|
||||
* `F` test outlining solid projected areas (internally)
|
||||
* `F` slicing controls per user-defined z-region
|
||||
* `F` control for size of purge block (with 0=disabled)
|
||||
* `F` polishing and other non-planar work
|
||||
|
|
|
|||
|
|
@ -110,9 +110,9 @@ KIRI.work = {
|
|||
send("config", obj, function(reply) { });
|
||||
},
|
||||
|
||||
clear: function(widget) {
|
||||
clear: function() {
|
||||
syncd = {};
|
||||
send("clear", widget ? {id:widget.id} : {}, function(reply) { });
|
||||
send("clear", {}, function(reply) { });
|
||||
},
|
||||
|
||||
snap: function(data) {
|
||||
|
|
|
|||
|
|
@ -871,9 +871,6 @@
|
|||
setOpacity(color.slicing_opacity);
|
||||
|
||||
STACKS.clear();
|
||||
if (mode === 'FDM') {
|
||||
KIRI.client.clear();
|
||||
}
|
||||
KIRI.client.sync();
|
||||
KIRI.client.rotate(settings);
|
||||
|
||||
|
|
|
|||
|
|
@ -44,19 +44,9 @@ KIRI.worker = {
|
|||
clear: function(data, send) {
|
||||
current.snap = null;
|
||||
current.print = null;
|
||||
if (!data.id) {
|
||||
dispatch.group = wgroup = {};
|
||||
dispatch.cache = wcache = {};
|
||||
send.done({ clear: true });
|
||||
return;
|
||||
}
|
||||
let had = wcache[data.id] !== undefined;
|
||||
delete wcache[data.id];
|
||||
send.done({
|
||||
id: data.id,
|
||||
had: had,
|
||||
has: wcache[data.id] !== undefined
|
||||
});
|
||||
dispatch.group = wgroup = {};
|
||||
dispatch.cache = wcache = {};
|
||||
send.done({ clear: true });
|
||||
},
|
||||
|
||||
// widget sync
|
||||
|
|
|
|||
|
|
@ -23,13 +23,18 @@
|
|||
|
||||
function filterSynth() {
|
||||
// remove synth widgets
|
||||
let clear = false;
|
||||
api.widgets.filter((widget) => {
|
||||
if (widget.track.synth) {
|
||||
api.const.SPACE.platform.remove(widget.mesh);
|
||||
kiri.Widget.Groups.remove(widget);
|
||||
clear = true;
|
||||
}
|
||||
return !widget.track.synth
|
||||
});
|
||||
if (clear) {
|
||||
kiri.client.clear();
|
||||
}
|
||||
}
|
||||
|
||||
api.event.on("mode.set", mode => {
|
||||
|
|
|
|||
Loading…
Reference in a new issue