cad-editor/tests
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Hakan Seven 04bd49c715 fix(io): resolve root named-objects dict robustly on foreign DWGs
Some DWGs written by other programs leave the root named-objects
dictionary unrecoverable: the header pointer names a non-dictionary and
the real NOD child dicts are owned by a table-control handle, so nothing
has owner==NULL. Navigating the root then silently no-ops, and
registering a new named-object entry (page setup, annotation scale, CTAB)
against the missing root orphans it — it never round-trips.

Add shared annotative::root_named_dict_handle(): resolve the header
pointer, else adopt the richest owner==NULL dict, else synthesise a fresh
root and write it back. Route ensure_plotsettings_dict, add_scale's
scalelist-create branch, and set_saved_active_layout through it. Resolve
the plot-settings dict via the PlotSettings owner when the header pointer
is stale, mirroring scalelist_dict_handle.

Verified page setups survive a DWG save/reload on the repro file with
layouts intact.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13 16:28:21 +03:00
..
active_space_roundtrip.rs fix(layout): create the CTAB variable so the exact paper tab round-trips 2026-07-12 01:17:26 +03:00
block_hatch_export.rs fix(precision): keep BLOCK base and TEXT/MTEXT insertion points in f64 (#311) 2026-07-12 00:34:26 +03:00
dim_copy_check.rs fix(copy): duplicate a dimension's baked block so COPY copies it (#161) 2026-06-25 22:30:45 +03:00
page_setup_root_repair.rs fix(io): resolve root named-objects dict robustly on foreign DWGs 2026-07-13 16:28:21 +03:00
text_font_rendering.rs fix(text): keep inline \C colours through block colour inheritance (SDF) 2026-07-07 22:17:27 +03:00
zoom_extents_xline.rs fix(view): exclude XLine/Ray display segments from ZOOM Extents (#284) 2026-07-05 14:08:43 -07:00