mirror of
https://github.com/bherbruck/solidcraft.git
synced 2026-11-08 04:52:10 +00:00
a1d2b6d05b
* Hole: read the faces nearest its position, not every face of the design `hole_direction_at` classified the surface of every face of every body (`faces_through` with an infinite reach) and then used the nearest one, nearly always the first. In an assembly of hundreds of imported parts that was most of a hole's time, on every preview and apply, and the viewport's hole manipulator calls it too. - Faces are now sorted by their mesh distance first (cheap) and each surface is classified only when the direction rules reach it, in the same order, so the direction is the same. - `hole_on_surface` skips meshes whose box the drilling line does not meet (it only casts along that line), and `faces_through` skips meshes farther than its reach. A cost test counts the surfaces classified for one hole among forty parts. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Hole: fix the new test for the references field Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> * Rename the faces_through line in mesh-decisions to faces_near Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: bherbruck <brennen.herbruck@gmail.com>