- Add entity-based DirectionalDistance overload to SpatialQuery that uses RayArcDistance/RayCircleDistance instead of tessellating arcs and circles into line segments - Add GetOffsetPartEntities, GetPerimeterEntities, GetPartEntities to PartGeometry for non-tessellated entity extraction - Update Compactor.Push to use native entities instead of tessellated lines — 952 circles = 952 entities vs ~47,600 line segments - Use bounding box containment check to skip cutout entities when no obstacle is inside the moving part (perimeter-only for common case) - Obstacles always use perimeter-only entities since cutout edges are inside the solid and cannot block external parts Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
31 KiB
31 KiB