From b705bd6391cccc8a71a0a72a7265b247a69bf41e Mon Sep 17 00:00:00 2001 From: Stewart Allen Date: Tue, 13 Jan 2026 23:43:39 -0500 Subject: [PATCH] trim support shadow to overhangs --- src/kiri/mode/fdm/work/slice.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/kiri/mode/fdm/work/slice.js b/src/kiri/mode/fdm/work/slice.js index b5a29d55..a3666da7 100644 --- a/src/kiri/mode/fdm/work/slice.js +++ b/src/kiri/mode/fdm/work/slice.js @@ -511,6 +511,13 @@ export function sliceOne(settings, widget, onupdate, ondone) { // assign to slices (sync) for (let slice of stack) { slice.shadow = await widget.shadowAt(slice.z, true); + if (!(slice.up && slice.shadow?.length)) continue; + // trim shadow to part overhangs + let top = slice.up.topPolys(); + let bot = slice.topPolys(); + let bridge = []; + POLY.subtract(top, bot, bridge, undefined, slice.z, 0, { wasm: true }); + slice.shadow = POLY.trimTo(slice.shadow, bridge, { minArea: 0 }); } }