fix(dwg): keep OCS-saved drawings readable by strict readers

Re-authored constraint-group geometry dependencies carried an empty
persistent subentity id, which crashed strict readers loading the file;
they now name the whole curve with a single-edge id.

Bump codec bc350f2 (declare classes of objects added to pre-R2004
drawings), kernel e692b97, graph 37d38eb.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
Hakan SevenandClaude Opus 5.5 committed 2026-10-12 23:24:22 +03:00
1 parent ae56fab62a
commit 390e12169a
7 files changed
+25 -15

No files matched your search

+12 -2
View File
@@ -1200,8 +1200,18 @@ impl Allocator<'_> {
},
class_version: 0,
enabled: true,
// Point and curve addressing lives on constraint-node data.
persistent_subent: AssocPersistentSubentId::default(),
// Point and curve addressing lives on constraint-node data;
// the dependency names the whole curve, as single-edge
// subentities do in authored constraint groups. An empty id
// (no class) crashes strict readers loading the drawing.
// ponytail: polyline segments get the single-edge id too;
// authored files address them with an index subentity (class
// code 3) whose fields are not decoded yet.
persistent_subent: AssocPersistentSubentId {
class_name: "AcDbAssocSingleEdgePersSubentId".to_string(),
class_code: 1,
..Default::default()
},
}),
)
}