From df2014d2977083db8c4cac0089f56cf8cfe756c1 Mon Sep 17 00:00:00 2001 From: Stewart Allen Date: Thu, 11 Dec 2025 20:29:20 -0500 Subject: [PATCH] fix roughing leave_xy --- src/kiri/mode/cam/anim-3d-be.js | 2 +- src/kiri/mode/cam/op-area.js | 7 ++----- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/src/kiri/mode/cam/anim-3d-be.js b/src/kiri/mode/cam/anim-3d-be.js index 6f94fa2d..4a194d14 100644 --- a/src/kiri/mode/cam/anim-3d-be.js +++ b/src/kiri/mode/cam/anim-3d-be.js @@ -32,7 +32,7 @@ let nextMeshID = 1, maxR; export function init(worker) { - const { dispatch } = worker; + const { dispatch, minions } = worker; dispatch.animate_setup2 = function (data, send) { settings = data.settings; diff --git a/src/kiri/mode/cam/op-area.js b/src/kiri/mode/cam/op-area.js index 11697060..be207617 100644 --- a/src/kiri/mode/cam/op-area.js +++ b/src/kiri/mode/cam/op-area.js @@ -150,8 +150,9 @@ class OpArea extends CamOp { // progressive offset of polygons inside area clipped to the shadow let outs = []; let clip = []; + let firstOff = -(toolDiam / 2 + (op.leave_xy ?? 0)); POLY.subtract([ area ], shadow, clip, undefined, undefined, 0); - POLY.offset(clip, [ -toolDiam / 2, -toolOver ], { + POLY.offset(clip, [ firstOff, -toolOver ], { count: op.steps ?? 999, outs, flat: true, z, minArea: 0 }); // if we see no offsets, re-check the mesh bottom Z then exit @@ -173,10 +174,6 @@ class OpArea extends CamOp { for (let p of out.points) p.z += op.leave_z; } - // for roughing backward compatability - if (op.leave_xy) { - outs = outs.map(poly => poly.offset(-op.leave_xy)).flat(); - } // support legacy outline features if (op.omitouter) { outs = omitOuter(outs);