diff --git a/src/kiri-mode/cam/client.js b/src/kiri-mode/cam/client.js index 6a52b451..6bb111a2 100644 --- a/src/kiri-mode/cam/client.js +++ b/src/kiri-mode/cam/client.js @@ -509,7 +509,7 @@ CAM.init = function(kiri, api) { let clazz = notime ? [ "draggable", "notime" ] : [ "draggable" ]; let notable = rec.note ? rec.note.split(' ').filter(v => v.charAt(0) === '#') : undefined; if (clock) { clazz.push('clock'); title = ` title="end of ops chain\ndrag/drop like an op\nops after this are disabled"` } - if (notable?.length) label = notable[0].slice(1); + if (notable?.length) label += ` (${notable[0].slice(1)})`; html.appendAll([ `
`, ``, diff --git a/src/kiri-mode/cam/ops.js b/src/kiri-mode/cam/ops.js index 09cdd6d9..68f144e4 100644 --- a/src/kiri-mode/cam/ops.js +++ b/src/kiri-mode/cam/ops.js @@ -963,6 +963,7 @@ class OpTrace extends CamOp { } // generate tracing offsets from chosen features let zTop = workarea.top_z; + let zBottom = workarea.bottom_z; let sliceOut = this.sliceOut = []; let areas = op.areas[widget.id] || []; let camTool = new CAM.Tool(settings, tool); @@ -993,6 +994,9 @@ class OpTrace extends CamOp { sliceOut.push(slice); return slice; } + function minZ(z) { + return op.bottom && zBottom ? Math.max(zBottom, z - thru) : z - thru; + } function followZ(poly) { if (op.dogbone) { CAM.addDogbones(poly, toolDiam / 5, !op.revbone); @@ -1119,7 +1123,7 @@ class OpTrace extends CamOp { } for (let pi of POLY.flatten(poly, [], true)) if (down) { - let zto = pi.getZ() - thru; + let zto = minZ(pi.getZ()); if (zThru && similar(zto,0)) { zto -= zThru; } @@ -1147,10 +1151,7 @@ class OpTrace extends CamOp { const zbo = widget.track.top - widget.track.box.d; let zmap = {}; for (let poly of polys) { - let z = poly.getZ() - thru; - if (op.bottom && camZBottom) { - z = Math.max(z, camZBottom) - zbo; - } + let z = minZ(poly.getZ()); if (offover) { let pnew = POLY.offset([poly], -offover, { minArea: 0, open: true }); if (pnew) { diff --git a/src/kiri/ui.js b/src/kiri/ui.js index d891e810..3678d037 100644 --- a/src/kiri/ui.js +++ b/src/kiri/ui.js @@ -132,7 +132,7 @@ gapp.register("kiri.ui", [], (root, exports) => { if (Array.isArray(input)) { iid = `confirm-input-${rnd}`; html.append(`
`); - } else if (input) { + } else if (input !== undefined) { iid = `confirm-input-${rnd}`; html.append(`
`); }