From bf532822bb69ef36124b3abc5c01a74fc962e5e7 Mon Sep 17 00:00:00 2001 From: Lucas Habersaat Date: Mon, 21 Sep 2026 17:20:46 +0200 Subject: [PATCH 1/2] Clear arrays after relinking --- src/earcut.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/earcut.js b/src/earcut.js index 5084b86..be1da37 100644 --- a/src/earcut.js +++ b/src/earcut.js @@ -543,6 +543,9 @@ function indexCurve(start, minX, minY, invSize) { prev = node; } /** @type {Node} */ (prev).nextZ = null; + + sortArr.length = 0; + sortBuf.length = 0; } // sort the first n nodes of sortArr by z, in place: insertion sort for small n (cheaper From 9c2907772705437347b2e4c8cbc65e896fbecfef Mon Sep 17 00:00:00 2001 From: Lucas Habersaat Date: Tue, 22 Sep 2026 08:53:14 +0200 Subject: [PATCH 2/2] Fill arrays with null after relinking --- src/earcut.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/earcut.js b/src/earcut.js index be1da37..63688f7 100644 --- a/src/earcut.js +++ b/src/earcut.js @@ -544,8 +544,8 @@ function indexCurve(start, minX, minY, invSize) { } /** @type {Node} */ (prev).nextZ = null; - sortArr.length = 0; - sortBuf.length = 0; + sortArr.fill(/** @type {Node} */ (/** @type {unknown} */ (null)), 0, n); + sortBuf.fill(/** @type {Node} */ (/** @type {unknown} */ (null)), 0, n); } // sort the first n nodes of sortArr by z, in place: insertion sort for small n (cheaper