From 558a2301dbe15d955f98d74b71491602fc536cfc Mon Sep 17 00:00:00 2001 From: CNCKitchen Date: Wed, 25 Mar 2026 15:34:30 +0100 Subject: [PATCH] Refactor code structure for improved readability and maintainability --- js/decimation.js | 46 +++++++++++++++++++++++++++++-------------- js/presetTextures.js | 1 + textures/dots.jpg | Bin 0 -> 77845 bytes 3 files changed, 32 insertions(+), 15 deletions(-) create mode 100644 textures/dots.jpg diff --git a/js/decimation.js b/js/decimation.js index 6b5c23a..eda0b12 100644 --- a/js/decimation.js +++ b/js/decimation.js @@ -48,8 +48,8 @@ const CREASE_WEIGHT = 1e4; // quadric penalty weight for crease edges // Module-level scratch arrays for hasLinkViolation — avoids new Map() per call. // Size 128 exceeds the maximum practical vertex valence in any STL mesh. -const _hlvHi = new Float64Array(128); -const _hlvLo = new Int32Array(128); +const _hlvHi = new Float64Array(512); +const _hlvLo = new Int32Array(512); // ── Public API ─────────────────────────────────────────────────────────────── @@ -97,12 +97,23 @@ export async function decimate(geometry, targetTriangles, onProgress) { const initFaces = activeFaces; const toRemove = initFaces - targetTriangles; let lastProg = 0; - let collapses = 0; + let iterations = 0; while (activeFaces > targetTriangles && heap.size() > 0) { const idx = heap.pop(); if (idx < 0) break; + // Yield periodically based on total iterations (including rejections) + // to keep the UI responsive. Critical for flat / low-displacement + // surfaces where most collapses are rejected by the safety guards. + if ((++iterations & 4095) === 0) { + await new Promise(r => setTimeout(r, 0)); + if (onProgress) { + const p = Math.min(1, (initFaces - activeFaces) / toRemove); + if (p - lastProg > 0.005) { onProgress(p); lastProg = p; } + } + } + const v1 = heap.getV1(idx), v2 = heap.getV2(idx); const ver1 = heap.getVer1(idx), ver2 = heap.getVer2(idx); const px = heap.getPx(idx), py = heap.getPy(idx), pz = heap.getPz(idx); @@ -170,13 +181,7 @@ export async function decimate(geometry, targetTriangles, onProgress) { } } - if (onProgress && (++collapses & 511) === 0) { - const p = Math.min(1, (initFaces - activeFaces) / toRemove); - if (p - lastProg > 0.015) { - onProgress(p); lastProg = p; - await new Promise(r => setTimeout(r, 0)); - } - } + } if (onProgress) onProgress(1); @@ -498,14 +503,25 @@ function pushEdge(heap, quadrics, positions, version, v1, v2) { const e1 = evalQSum(quadrics, v1, v2, positions[v1*3], positions[v1*3+1], positions[v1*3+2]); const e2 = evalQSum(quadrics, v1, v2, positions[v2*3], positions[v2*3+1], positions[v2*3+2]); const em = evalQSum(quadrics, v1, v2, mx, my, mz); - if (e1 <= e2 && e1 <= em) { px = positions[v1*3]; py = positions[v1*3+1]; pz = positions[v1*3+2]; } - else if (e2 <= em) { px = positions[v2*3]; py = positions[v2*3+1]; pz = positions[v2*3+2]; } - else { px = mx; py = my; pz = mz; } + // Prefer midpoint when costs are near-equal (degenerate / flat surfaces). + // Midpoint minimises displacement of adjacent triangles, reducing normal + // flips and preventing the collapse loop from stalling on coplanar geometry. + const eMin = Math.min(e1, e2, em); + const eTol = eMin * 1e-2 + 1e-12; + if (em <= eMin + eTol) { px = mx; py = my; pz = mz; } + else if (e1 <= e2) { px = positions[v1*3]; py = positions[v1*3+1]; pz = positions[v1*3+2]; } + else { px = positions[v2*3]; py = positions[v2*3+1]; pz = positions[v2*3+2]; } } const cost = evalQSum(quadrics, v1, v2, px, py, pz); - // Snapshot both vertices' versions so the pop-side check can detect staleness - heap.push(cost, v1, v2, version[v1], version[v2], px, py, pz); + // Tiny edge-length tiebreaker: on degenerate (flat) surfaces where QEM + // costs are ~0, prefer collapsing shorter edges first for better triangle + // quality and fewer guard rejections. + const dx = positions[v2*3] - positions[v1*3]; + const dy = positions[v2*3+1] - positions[v1*3+1]; + const dz = positions[v2*3+2] - positions[v1*3+2]; + heap.push(cost + (dx*dx + dy*dy + dz*dz) * 1e-8, + v1, v2, version[v1], version[v2], px, py, pz); } // ── Indexed <-> Non-indexed conversion ────────────────────────────────────── diff --git a/js/presetTextures.js b/js/presetTextures.js index af7ad4b..7f6509a 100644 --- a/js/presetTextures.js +++ b/js/presetTextures.js @@ -34,6 +34,7 @@ const IMAGE_PRESETS = [ { name: 'Bubble', url: 'textures/bubble.jpg' }, { name: 'Carbon Fiber', url: 'textures/carbonFiber.jpg' }, { name: 'Crystal', url: 'textures/crystal.jpg' }, + { name: 'Dots', url: 'textures/dots.jpg' }, { name: 'Grip Surface', url: 'textures/gripSurface.jpg' }, { name: 'Hexagons', url: 'textures/hexagons.jpg' }, { name: 'Knitting', url: 'textures/knitting.jpg' }, diff --git a/textures/dots.jpg b/textures/dots.jpg new file mode 100644 index 0000000000000000000000000000000000000000..91c0e5952ecaa484aa2856cb42c62e664afbfb23 GIT binary patch literal 77845 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