Highlights
- Spatial index for huge drawings. A new quadtree drives per-frame visibility: wire tessellation, hatch fills, wipeouts and meshes all skip off-screen geometry instead of touching every entity each frame. Pan / zoom on 100 k-entity drawings now stays smooth where the previous version stalled.
- In-app update notice. On startup the app checks the GitHub releases API; if a newer version is published it pops a small modal with a one-click link to the release page (instead of silently being out of date).
- Viewport auto-fit fallback. Drawings where the saved viewport
view_targetis the sentinel(0,0,0)(common on legacy / converted files) now auto-fit to the model contents on first display instead of showing an empty viewport. - f64-precision viewport projection. UTM-scale drawings no longer show jitter through paper-space viewports; the projection inner loop runs in f64 throughout.
Performance
- scene: quadtree primitive for 2D spatial index (727992b)
- scene: Scene::entity_index — lazy quadtree build (3e87460)
- scene: quadtree culling in wire tessellation (e43498d)
- pipeline: per-frame mesh frustum cull (fcf4d4f)
- pipeline: per-frame hatch+wipeout frustum cull at draw time (b70c9f9)
Features
- in-app update notice — startup GitHub-release check + modal (86f5ba7)
Fixes
- scene: viewport auto-fit fallback + f64-precision projection (de37ee0)
- pipeline: hatch frustum cull was testing AABB in wrong space (6ae3a9d)
- scene: include camera_generation in hatch/wipeout cache keys (49fddea)
Docs
- rendering: drop completed Phase 2 from the optimization roadmap (38f9733)
Full Changelog: v0.2.9...v0.3.0