add hole and perimeter offset compensation as expert settings

This commit is contained in:
Stewart Allen 2025-09-29 19:11:24 -04:00
commit 1cca293495
8 changed files with 44 additions and 10 deletions

View file

@ -96,6 +96,7 @@ let UC = UI.prefix('kiri').inputAction(settings.conf.update),
put: (key, val) => localSet(key, val),
set: (key, val) => localSet(key, val),
setItem: (key, val) => localSet(key, val),
removeItem: (key) => localRemove(key)
},
tweak = {
line_precision(v) { api.work.config({ base: { clipperClean: v } }) },
@ -119,6 +120,11 @@ function localSet(key, val) {
return val;
}
function localRemove(key) {
let sloc = api.conf.get().local;
return delete sloc[key];
}
export const api = {
ajax,
beta,

View file

@ -267,6 +267,8 @@ export const conf = {
sliceLayerStartX: 0,
sliceLayerStartY: 0,
sliceLineWidth: 0,
sliceCompInner: 0,
sliceCompOuter: 0,
sliceFillGrow: 0,
sliceFillAngle: 45,
sliceFillWidth: 1,

View file

@ -782,9 +782,11 @@ class Widget {
}
if (set) {
let dark = this.api.space.is_dark();
let cam = this.api.mode.is_cam();
let color = dark && !cam ? 0xffffff : 0;
let angle = this.api.conf.get().controller.edgeangle || 20;
let edges = new THREE.EdgesGeometry(mesh.geometry, angle);
let material = new THREE.LineBasicMaterial({ color: 0 });
let material = new THREE.LineBasicMaterial({ color });
this.outline = new THREE.LineSegments(edges, material);
this.outline.renderOrder = -20;
mesh.add(this.outline);