forked from 1b-agent/opencadstudio-upstream
Two root causes prevented paper-space viewports from loading correctly: 1. acadrust's ViewportStatusFlags::from_bits() maps bit 0 → is_on, but the real DXF/DWG spec uses bit 15 (0x8000) for "viewport on". Post-load fixup in io/mod.rs now corrects this for both DXF and DWG files: when bit 0 is clear but bit 15 is set, is_on is forced true and locked is derived from bit 14 (0x4000). 2. Some DXF exporters write id=-1 for all viewport entities instead of the standard id=1 (sheet) / id≥2 (user) convention. The is_user_viewport_id() helper now treats any id ≠ 0 and ≠ 1 as a user viewport, covering both the standard id≥2 and the non-standard id=-1 cases. Co-Authored-By: Claude Sonnet 4.6 <[email protected]>