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
|
## `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` normals possibly inverted on faces in 2D to 3D conversion
|
||||||
* `B` origin bug (Onshape?) when switching modes in 2.5 and 2.6
|
* `B` origin bug (Onshape?) when switching modes in 2.5 and 2.6
|
||||||
|
|
||||||
|
|
@ -19,13 +19,12 @@
|
||||||
|
|
||||||
# FDM
|
# FDM
|
||||||
|
|
||||||
* `B` fix adaptive slicing with multi-extruder
|
* `B` infill densities are inaccurate
|
||||||
* `B` fix support projection/end with grouped parts
|
* `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 rendering of raft fails to offset the rest of the print
|
||||||
* `B` multi-extruder purge blocks fail to generate properly for rafts
|
* `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` slicing controls per user-defined z-region
|
||||||
* `F` control for size of purge block (with 0=disabled)
|
* `F` control for size of purge block (with 0=disabled)
|
||||||
* `F` polishing and other non-planar work
|
* `F` polishing and other non-planar work
|
||||||
|
|
|
||||||
|
|
@ -110,9 +110,9 @@ KIRI.work = {
|
||||||
send("config", obj, function(reply) { });
|
send("config", obj, function(reply) { });
|
||||||
},
|
},
|
||||||
|
|
||||||
clear: function(widget) {
|
clear: function() {
|
||||||
syncd = {};
|
syncd = {};
|
||||||
send("clear", widget ? {id:widget.id} : {}, function(reply) { });
|
send("clear", {}, function(reply) { });
|
||||||
},
|
},
|
||||||
|
|
||||||
snap: function(data) {
|
snap: function(data) {
|
||||||
|
|
|
||||||
|
|
@ -871,9 +871,6 @@
|
||||||
setOpacity(color.slicing_opacity);
|
setOpacity(color.slicing_opacity);
|
||||||
|
|
||||||
STACKS.clear();
|
STACKS.clear();
|
||||||
if (mode === 'FDM') {
|
|
||||||
KIRI.client.clear();
|
|
||||||
}
|
|
||||||
KIRI.client.sync();
|
KIRI.client.sync();
|
||||||
KIRI.client.rotate(settings);
|
KIRI.client.rotate(settings);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -44,19 +44,9 @@ KIRI.worker = {
|
||||||
clear: function(data, send) {
|
clear: function(data, send) {
|
||||||
current.snap = null;
|
current.snap = null;
|
||||||
current.print = null;
|
current.print = null;
|
||||||
if (!data.id) {
|
|
||||||
dispatch.group = wgroup = {};
|
dispatch.group = wgroup = {};
|
||||||
dispatch.cache = wcache = {};
|
dispatch.cache = wcache = {};
|
||||||
send.done({ clear: true });
|
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
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
|
|
||||||
// widget sync
|
// widget sync
|
||||||
|
|
|
||||||
|
|
@ -23,13 +23,18 @@
|
||||||
|
|
||||||
function filterSynth() {
|
function filterSynth() {
|
||||||
// remove synth widgets
|
// remove synth widgets
|
||||||
|
let clear = false;
|
||||||
api.widgets.filter((widget) => {
|
api.widgets.filter((widget) => {
|
||||||
if (widget.track.synth) {
|
if (widget.track.synth) {
|
||||||
api.const.SPACE.platform.remove(widget.mesh);
|
api.const.SPACE.platform.remove(widget.mesh);
|
||||||
kiri.Widget.Groups.remove(widget);
|
kiri.Widget.Groups.remove(widget);
|
||||||
|
clear = true;
|
||||||
}
|
}
|
||||||
return !widget.track.synth
|
return !widget.track.synth
|
||||||
});
|
});
|
||||||
|
if (clear) {
|
||||||
|
kiri.client.clear();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
api.event.on("mode.set", mode => {
|
api.event.on("mode.set", mode => {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue