forked from 1b-agent/opencadstudio-upstream
fix(scene): skip Block/BlockEnd sentinels in wires_for_block filter
Block and BlockEnd are block-defn markers, not drawable geometry. wires_for_block did not filter them, so they fell through to legacy_geometry's `_` arm and emitted a 1-unit phantom horizontal segment at world_offset. The phantom was invisible on a real drawing but selectable and — worse — its points poisoned fit_all, contributing to the "ZOOM EXTENTS shrinks the model" symptom on files with weak EXTMIN/EXTMAX or with block-defn entities leaking into MSPACE. Same skip already exists in commands.rs:5364 and block_cache.rs:271 — the render path was the missing one. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
1 parent
f4ae0e7773
commit
f592c5f1a2
1 file changed
+7
@@ -1012,6 +1012,13 @@ impl Scene {
|
||||
if c.invisible {
|
||||
return false;
|
||||
}
|
||||
// Block/BlockEnd are block-defn sentinels, not drawable geometry.
|
||||
// Without this skip they fall through to legacy_geometry's `_`
|
||||
// arm and emit a 1-unit phantom segment at world_offset that
|
||||
// poisons fit_all and shows up in selection.
|
||||
if matches!(e, EntityType::Block(_) | EntityType::BlockEnd(_)) {
|
||||
return false;
|
||||
}
|
||||
if self
|
||||
.document
|
||||
.layers
|
||||
|
||||
Reference in new issue
Block a user