Releases: DJBen/StarryNight
Releases · DJBen/StarryNight
3.1.0 Release Notes
- Added
Constellation.BorderSegmentplusStarManager.constellationBorders(for:), exposing precise border arcs (Dec/RA in radians) including Serpens’ split handling for richer constellation outlines. - Introduced
H3Utilswith viewport polyfill support, automatic polar-slice handling, and pole-detection helpers to drive adaptive H3-based rendering without external glue code. StarManager.closeStars(around:maximumAngularDistance:maximumMagnitude:)now returns all stars within an angular radius, enabling multi-selection and highlighting flows.StarManager.stars(inH3Cell:)now takes anH3Index, derives the resolution automatically, and works seamlessly with the new H3 utilities.
API Changes
StarManagingprotocol updates:stars(inH3Cell:)signature switch to H3Index, new closeStars method, and a newconstellationBorders(for:)requirement; the oldclosestStarandstars(inViewport:)APIs are removed.Constellation.Linenow carries star1Id/star2Id instead of full Star instances; consumers should fetch star details via StarManaging when needed.Star.loadInfo/Star.withInfoacceptany StarManaging, loosening coupling to the concrete manager.
Fixes & Improvements
- Corrected Bayer/Flamsteed combined formatting so Bayer letters no longer repeat the Flamsteed number, and
StarInfo.displayNamenow prioritizes Bayer designations ahead of catalog IDs. - Localized SpectralType’s SQLite metadata to avoid cross-module references and added @preconcurrency import annotations to silence concurrency warnings.
- Refined coordinate helpers (cartesianToLatLon, RA/Dec normalization) to return
LatLng, keeping spherical math consistent across the new border and H3 workflows.