fix trace toggle

This commit is contained in:
Stewart Allen 2025-06-22 01:21:49 -04:00
commit fbbbf476c0

View file

@ -1097,17 +1097,15 @@ CAM.init = function(kiri, api) {
color.r = colorSave.r; color.r = colorSave.r;
color.g = colorSave.g; color.g = colorSave.g;
color.b = colorSave.b; color.b = colorSave.b;
lastTrace.position.z -= 0.01;
} }
if (data.type === 'platform') {
lastTrace = null; lastTrace = null;
if (data.type === 'platform') {
return; return;
} }
if (!data.int.object.trace) { if (!data.int.object.trace) {
return; return;
} }
lastTrace = data.int.object; lastTrace = data.int.object;
lastTrace.position.z += 0.01;
if (lastTrace.selected) { if (lastTrace.selected) {
let event = data.event; let event = data.event;
let target = event.target; let target = event.target;
@ -1116,11 +1114,8 @@ CAM.init = function(kiri, api) {
} }
let material = lastTrace.material[0] || lastTrace.material; let material = lastTrace.material[0] || lastTrace.material;
let color = material.color; let color = material.color;
let {r, g, b} = color; material.colorSave = color.clone();
material.colorSave = {r, g, b}; color.setHex(isDark() ? 0x0066ff : 0x0000ff);
color.r = 0;
color.g = 0;
color.b = 1;
}; };
func.traceHoverUp = function(int, ev) { func.traceHoverUp = function(int, ev) {
if (!int) return; if (!int) return;
@ -1149,23 +1144,17 @@ CAM.init = function(kiri, api) {
let wlist = areas[widget.id] = areas[widget.id] || []; let wlist = areas[widget.id] = areas[widget.id] || [];
obj.selected = !obj.selected; obj.selected = !obj.selected;
if (!colorSave) { if (!colorSave) {
colorSave = material.colorSave = { colorSave = material.colorSave = color.clone();
r: color.r,
g: color.g,
b: color.b
};
} }
if (obj.selected) { if (obj.selected) {
obj.position.z += 0.01; color.setHex(isDark() ? 0xdd0011 : 0xff0033);
color.r = colorSave.r = 0.9; colorSave.r = color.r;
color.g = colorSave.g = 0; colorSave.g = color.g;
color.b = colorSave.b = 0.1; colorSave.b = color.b;
if (!skip) wlist.push(poly._trace); if (!skip) wlist.push(poly._trace);
} else { } else {
obj.position.z -= 0.01; color.setHex(0xaaaa55);
color.r = colorSave.r = 0xaa/255; colorSave.setHex(0xaaaa55);
color.g = colorSave.g = 0xaa/255;
color.b = colorSave.b = 0x55/255;
if (!skip) wlist.remove(poly._trace); if (!skip) wlist.remove(poly._trace);
} }
API.conf.save(); API.conf.save();
@ -1194,9 +1183,6 @@ CAM.init = function(kiri, api) {
func.hover = func.selectHolesHover; func.hover = func.selectHolesHover;
func.hoverUp = func.selectHolesHoverUp; func.hoverUp = func.selectHolesHoverUp;
const widgets = kiri.api.widgets.all() const widgets = kiri.api.widgets.all()
/** /**
* creates a mesh for a hole and adds it to a widget * creates a mesh for a hole and adds it to a widget
@ -2162,16 +2148,18 @@ function validateTools(tools) {
} }
} }
function isDark() { return API.space.is_dark() };
function addbox() { return FDM.addbox(...arguments)}; function addbox() { return FDM.addbox(...arguments)};
function delbox() { return FDM.delbox(...arguments)}; function delbox() { return FDM.delbox(...arguments)};
function boxColor() { function boxColor() {
return API.space.is_dark() ? 0x00ddff : 0x0000dd; return isDark() ? 0x00ddff : 0x0000dd;
} }
function boxOpacity() { function boxOpacity() {
return API.space.is_dark() ? 0.75 : 0.6; return isDark() ? 0.75 : 0.6;
} }
function animate() { function animate() {
@ -2254,7 +2242,7 @@ function updateStock() {
camStock.position.z = center.z; camStock.position.z = center.z;
camStock.rotation.x = currentIndex || 0; camStock.rotation.x = currentIndex || 0;
camStock.lines.material.color = camStock.lines.material.color =
new THREE.Color(API.space.is_dark() ? 0x555555 : 0xaaaaaa); new THREE.Color(isDark() ? 0x555555 : 0xaaaaaa);
} else if (camStock) { } else if (camStock) {
SPACE.world.remove(camStock); SPACE.world.remove(camStock);
camStock = null; camStock = null;