Performance Improvements
- Eliminated per-frame re-tessellation and GPU re-upload on large files
- Parallel wire tessellation with Rayon for significant speed gains
- Cached SortEntitiesTable scan
- Cached hatch/wipeout/image/mesh models per geometry epoch
- Added viewport wire cache, Arc hit-test, and snap world-space pre-rejection
- Upgraded AABB snap pre-rejection via acadrust bounding_box()
- Cached paper-canvas tessellation and viewport projections
- Arc-cached paper_canvas_wires() to eliminate O(N) clone on navigation
Bug Fixes
- Hatch visibility: Hatches inside block references are now correctly hidden when the INSERT entity is invisible or on a hidden/frozen layer; block-definition entities are filtered by whether they belong to the active layout block
- Dimension line geometry: Extension lines now form correct rectangles instead of parallelograms — each endpoint is projected independently onto the dimension line
- DXF dimension rotation unit: acadrust's DXF reader stores group code 50 in degrees while tessellation expected radians; a post-load conversion is now applied for DXF files
- Dimension text angle: acadrust's DXF reader does not parse group code 53, so text was always rendered horizontal; text rotation is now derived from the axis geometry for Linear and Aligned dimensions
- Fixed degenerate same-vertex edges in LWPolyline and spline to emit a Point instead of a zero-length edge
- Paper background no longer resizes when a viewport is added
Full Changelog: v0.1.6...v0.1.7