cad-editor/src/io
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Hakan Seven 8b133ceab2 fix(layout): create the CTAB variable so the exact paper tab round-trips
Saving from a non-first paper layout still reopened on the first paper
tab: set_saved_active_layout only updated an existing CTAB entry, but
documents authored here never carried one, so CTAB was never written and
the reader fell back to $TILEMODE (which only records model-vs-paper) →
the first paper layout.

set_saved_active_layout now creates the CTAB DICTIONARYVAR under the root
named-object dictionary when it is absent (updating in place otherwise).
The root dictionary is taken from the header handle, or found by scanning
for the dictionary that holds ACAD_LAYOUT when a from-scratch document
has not populated the header handle yet. The writers persist it (they
serialize the document's objects and root-dictionary entries; the
root-dict rebuild in CadDocument::build() is not run on save).

Adds tests/active_space_roundtrip.rs, including a full DXF save→reload
round-trip asserting both $TILEMODE and CTAB survive.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-12 01:17:26 +03:00
..
file_association.rs feat(thumbnails): embed DWG previews and wire cross-platform file thumbnails 2026-07-11 01:27:17 +03:00
linetypes.rs refactor: move resource/IO root modules under io/ 2026-06-26 23:06:40 +03:00
mod.rs fix(layout): create the CTAB variable so the exact paper tab round-trips 2026-07-12 01:17:26 +03:00
obj.rs feat(render): double-single vertices for the mesh pipeline 2026-06-23 18:28:52 +03:00
paper_sizes.rs chore: post-merge cleanup for #287/#289 2026-07-06 01:22:10 +03:00
patterns.rs refactor: move resource/IO root modules under io/ 2026-06-26 23:06:40 +03:00
pdf_export.rs fix(plot): correct hatch rendering in PDF / plot export 2026-07-06 12:24:10 +02:00
plot_style.rs perf(hash): swap std HashMap/HashSet for rustc-hash FxHash 2026-06-05 00:35:53 +03:00
print_to_printer.rs feat(plot): unified plot/print dialog, retire Page Setup 2026-07-09 10:27:54 +03:00
step.rs refactor(scene): group modules into role-based subfolders 2026-06-16 11:33:46 +03:00
stl.rs refactor(scene): group modules into role-based subfolders 2026-06-16 11:33:46 +03:00
thumbnail.rs feat(thumbnails): embed DWG previews and wire cross-platform file thumbnails 2026-07-11 01:27:17 +03:00
update_check.rs refactor: move resource/IO root modules under io/ 2026-06-26 23:06:40 +03:00
xref.rs perf(xref): parse referenced files in parallel 2026-07-05 01:09:44 +03:00