Files
solvecraft/xtask
Robson Pereira a1d2b6d05b Hole: placing a hole is faster in assemblies with many parts (#7175)
* 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>
2026-11-06 08:27:20 +00:00
..