Added
- Loading overlay while opening CAD files. Large DWG/DXF parses used to freeze the UI with no signal; the open flow now shows a modal with file name, size, phase (Reading → Parsing → Building caches → Finalizing), an animated progress bar, and a Cancel button. The cache-build phase is determinate (
done/total); other phases use an indeterminate bouncing bar. Cancel hides the overlay and discards the result — the parser thread runs to completion since acadrust has no interrupt hook. - Corrupt-entity guard at load time. acadrust's DWG reader occasionally desynchronises on certain files and produces entities with garbage fields (non-unit normals in the 1e200+ range, vertex counts of 100k, infinite/NaN coordinates). Those entities are now scanned and dropped before tessellation, with a count surfaced in the command line: `Warning: N corrupt entities dropped (parser junk — bad normals / counts)`. Same files in DXF form continue to parse cleanly; this is strictly a DWG-path workaround until the upstream parser bug is fixed.
Fixed
- Multileader text rendering now strips MText control codes and honours the full layout (text + lines + arrows) instead of dropping fragments.
- f64 precision preserved until world_offset subtraction in the render path, so drawings with very large coordinates (UTM, survey) no longer wobble or lose digits during pan/zoom.
- High-elevation geometry is visible in fit_all / ZOOM EXTENTS. The outlier gate that filtered points beyond 10× the header extent half-size now only checks XY. Civil 3D files can legitimately carry profile geometry at huge Z (10^6+ units) inside an otherwise small XY footprint; Z-axis outliers are no longer a known garbage pattern and the gate no longer hides them.
Reverted
- Wire segment caps (`MAX_SEGS_PER_WIRE` = 100k, `MAX_TOTAL_SEGS` = 3M). These were stop-gap GPU-memory guards that mutated visible output — single complex entities were cut mid-geometry, and entire wires past the 3M total were dropped by arrival order with no spatial awareness. Truncated arcs and missing road segments look like bugs to the user, not "we ran out of GPU memory." Per-entity LOD and viewport culling remain the long-term answer.
Release artifacts
Linux Flatpak, AppImage, and Windows .exe builds are attached below once the release workflow finishes.
Full Changelog: v0.2.5...v0.2.6