# Changelog All notable changes to `planet` are documented here. This project follows the repository versioning rule: - `feature` -> `+0.1.0` - `bugfix` -> `+0.0.1` ## 0.21.2 Released: 2026-03-26 ### Highlights - Reworked the Earth page HUD into a bottom-centered floating toolbar with grouped popovers and richer interaction feedback. - Unified toolbar and corner cards under a liquid-glass visual language and refined status toasts, object info cards, and legend behavior. - Made the legend state reflect the currently selected Earth object instead of a fixed static list. ### Added - Added a reusable Earth legend module in [legend.js](/home/ray/dev/linkong/planet/frontend/public/earth/js/legend.js). - Added Material Symbols-based Earth toolbar icons and dedicated fullscreen-collapse icon support. - Added click-to-copy support for info-card field labels. ### Improved - Improved Earth toolbar layout with centered floating controls, popover-based display toggles, and zoom controls. - Improved Earth HUD visuals with liquid-glass styling for buttons, info cards, panels, and animated status messages. - Improved info-card spacing, scrollbar styling, and object detail readability. - Improved legend rendering so cable and satellite object selection can drive the displayed legend content. ### Fixed - Fixed tooltip coverage and splash copy mismatches in the Earth page controls. - Fixed several toolbar icon clarity, centering, and state-toggle issues. - Fixed status-message behavior so repeated notifications replay the slide-in animation. ## 0.20.0 Released: 2026-03-26 ### Highlights - Stabilized the Earth big-screen module for longer-running sessions. - Fixed satellite orbit generation by correcting TLE handling end to end. - Added a reusable backend TLE helper and exposed `tle_line1 / tle_line2` to the Earth frontend. ### Added - Added a dedicated Earth module remediation plan in [earth-module-plan.md](/home/ray/dev/linkong/planet/docs/earth-module-plan.md). - Added backend TLE helpers in [satellite_tle.py](/home/ray/dev/linkong/planet/backend/app/core/satellite_tle.py). - Added backend support for returning `tle_line1` and `tle_line2` from the satellite visualization API. ### Improved - Reworked the Earth module lifecycle with cleaner init, reload, and destroy paths. - Improved scene cleanup for cables, landing points, satellite markers, and related runtime state. - Reduced Earth interaction overhead by reusing hot-path math and pointer objects. - Switched satellite animation timing to real delta-based updates for more stable motion. - Reduced fragile global-state coupling inside the legacy Earth runtime. ### Fixed - Fixed white-screen risk caused by iframe cleanup behavior in development mode. - Fixed incorrect client-side TLE generation: - corrected line 2 field ordering - corrected eccentricity formatting - added checksum generation - Fixed fallback orbit issues affecting some Starlink satellites such as `STARLINK-36158`. - Fixed partial Earth data load failures so one failed source is less likely to break the whole view. ### Notes - The Earth frontend now prefers backend-provided raw TLE lines. - Older satellite records can still fall back to backend-generated TLE lines when raw lines are unavailable. - This release is primarily focused on Earth module stability rather than visible admin UI changes. ## 0.21.1 Released: 2026-03-26 ### Highlights - Refined the Earth big-screen toolbar with clearer controls, hover hints, and more consistent visual language. - Replaced emoji-based Earth toolbar controls with SVG icons for a cleaner HUD. - Updated the Earth loading splash so manual reloads no longer show legacy wording. ### Improved - Improved zoom controls by adding tooltips for reset view, zoom in, zoom out, and resetting zoom to `100%`. - Improved Earth toolbar readability with larger icons and revised glyphs for rotation, reload, satellites, trails, cables, terrain, and collapse. - Improved loading overlay copy to better distinguish initial initialization from manual refresh. ### Fixed - Fixed rotate toggle rendering so play/pause state no longer relies on emoji text replacement. - Fixed Earth autorotation target syncing so inertial drag is preserved while the globe is still coasting. ## 0.21.0 Released: 2026-03-26 ### Highlights - Added legacy-inspired inertial drag behavior to the Earth big-screen module. - Removed the hard 10,000-satellite ceiling when Earth satellite loading is configured as unlimited. - Tightened Earth toolbar and hover-state synchronization for a more consistent runtime feel. ### Added - Added inertial drag state and smoothing to the Earth runtime so drag release now decays naturally. ### Improved - Improved drag handling so moving the pointer outside the canvas no longer prematurely stops rotation. - Improved satellite loading to support dynamic frontend buffer sizing when no explicit limit is set. - Improved Earth interaction fidelity by keeping the hover ring synchronized with moving satellites. ### Fixed - Fixed the trails toolbar button so its default visual state matches the actual default runtime state. - Fixed the satellite GeoJSON endpoint so omitting `limit` no longer silently falls back to `10000`. - Fixed hover ring lag where the ring could stay behind the satellite until the next mouse move. ## 0.19.0 Released: 2026-03-25 ### Highlights - Refined data collection storage and history handling. - Moved collected data away from several strongly coupled legacy columns. - Improved data list filtering, metadata-driven detail rendering, and collection workflows. ### Added - Added collected data history planning docs. - Added metadata backfill and removal-readiness scripts. - Added version history tracking. ### Improved - Improved datasource task tracking and collection status flow. - Improved collected data search, filtering, and metadata rendering. - Improved configuration center layout consistency across admin pages. ### Fixed - Fixed several collected-data field mapping issues. - Fixed frontend table layout inconsistencies across multiple admin pages. - Fixed TOP500 parsing and related metadata alignment issues.