engine, ui: mesh.node.relax and relaxation fields, Relax Nodes tool with sphere and preview (#398)

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01UhhZMBTviDQxZvwnyP89fo
This commit is contained in:
jyvikoandClaude Opus 5.5 authored and Irakli Kourtis committed 2026-10-15 14:40:00 -04:00
1 parent 75f9e5ae6e
commit 94fdbf0fca
19 files changed
+1038 -9

No files matched your search

+5
View File
@@ -62,6 +62,11 @@ Before the first mesh command:
1. `mesh.quality`: all valid; scaled Jacobian min ≥ 0.3 (≥ 0.5 in the region of interest);
edge ratio max ≤ 10; no element below these is acceptable without a stated reason.
**Isolated spikes** (a few bad elements in an otherwise good mesh) are fixed last, with
`mesh.node.relax {"around_element": <worst>}` (or `center` + `radius`): nodes there relax, surface
nodes sliding on their faces, nothing inverting. It is a final touch, never a substitute for a
better block plan: many bad elements mean the cuts are wrong (§2). Pass `"reapply": true` (or
run `mesh.node.relax.apply {field}`) so the relaxation follows a later remesh.
2. Look at it: screenshots of each body and a section. Fans, pinches, wedges, slivers → back to §2.
3. Volume: `mesh.quality` volume equals the geometry volume (a mismatch means orphan or missing
cells, #385).