fix(solid): normalize quadrilateral edges

Accept perimeter and DXF Z point orders while keeping screen fill and interaction on the WCS-aware geometry.

Refs #617
This commit is contained in:
Hakan Seven committed 2026-08-01 20:31:28 +03:00
1 parent 6c62daf260
commit 7b50d6a5a3
5 files changed
+151 -70

No files matched your search

+8 -5
View File
@@ -5989,13 +5989,16 @@ impl Scene {
}
fn hatch_visible_for_interaction(&self, handle: Handle) -> bool {
let Some(common) = self
.document
.get_entity(handle)
.map(|entity| entity.common())
else {
let Some(entity) = self.document.get_entity(handle) else {
return false;
};
// Use the SOLID's WCS-aware wire fill for interaction as well as
// drawing. Its cached HatchModel is flattened to XY for plotting and
// must not leave an invisible selection target at z=0 (#617).
if matches!(entity, EntityType::Solid(_)) {
return false;
}
let common = entity.common();
if common.invisible
|| self.entity_temporarily_hidden(handle)
|| self.layer_hidden(&common.layer)