Version 11, codenamed "Copernicus," represents a transformative release that fundamentally reimagines Keep Track's architecture and capabilities. Just as Copernicus revolutionized astronomy by recognizing that celestial bodies could be viewed from different perspectives, this major version enables users to center their view on any object in the solar system. This release introduces complete planetary exploration, advanced rendering systems capable of interplanetary scales, comprehensive internationalization, and a revolutionary architectural restructuring that positions the platform for the future of space situational awareness.
- Full Solar System Support: Added complete planetary rendering including Mercury, Venus, Mars, Jupiter, Saturn (with rings), Uranus (with rings), Neptune, and dwarf planets (Pluto, Makemake)
- Planetary Navigation: Implemented camera centering and selection for any celestial body with customizable zoom ranges per planet
- Orbital Visualization: Added full orbit path rendering for all planets with Earth-centered and heliocentric reference frames
- Planet Information Display: Integrated planetary hover information and detailed orbital metadata
- Dynamic Planetary Dots: Planets now appear as visible objects with distance-based sizing in the 3D view
- Planetary Menu Plugin: New comprehensive UI for exploring the solar system, drawing orbit paths, and configuring planetary display settings
- Logarithmic Depth Buffer: Implemented precision depth management enabling rendering from Earth orbit to interplanetary distances without z-fighting
- World Shift System: Revolutionary coordinate transformation allowing seamless centering on any celestial body while maintaining precision
- Enhanced Mesh System: Added OBJ loader, mesh registry, and generalized mesh rendering pipeline for 3D models
- Improved Godrays: Optimized solar bloom effects with distance-based scaling and randomized atmospheric scattering
- Planetary Ring Rendering: Specialized rendering for Saturn and Uranus ring systems with proper alpha blending
- Distance-Based Shader Optimization: Dynamic adjustment of rendering quality based on camera distance
- OEM Format Integration: Full support for CCSDS Orbit Ephemeris Message (OEM) format satellites
- OemSatellite Class: New satellite type with interpolated ephemeris data using Lagrange interpolation
- OEM Reader Plugin: Comprehensive plugin for importing and managing OEM-format orbital data
- Non-Earth-Centered Objects: Support for satellites orbiting bodies other than Earth (Moon, planets, etc.)
- Scenario Management: Time-bounded simulations with start/end enforcement for OEM scenarios
- Multi-Language Support: Complete localization infrastructure supporting 9 languages (English, German, Spanish, French, Japanese, Korean, Russian, Ukrainian, Chinese)
- Automated Translation Generation: Build-time translation compilation from source files
- Plugin Localization: Comprehensive translation support across all major plugins
- Dynamic Language Switching: Runtime language selection without application restart
- Satellite Info Localization: Fully translated orbital data displays and technical terms
- VCR Controls: New playback plugin with play, pause, rewind, and fast-forward capabilities for time-based simulations
- Time Slider: Visual timeline control for navigating temporal scenarios
- Scenario Management Plugin: UI for creating, saving, and loading time-bounded simulation scenarios
- Draggable Layers System: Converted legends to draggable, resizable layer boxes with popup menus
- Enhanced Tooltips: Declarative tooltip system with improved positioning and HTML content support
- Filter Menu Improvements: Added vLEO (very Low Earth Orbit) and xGEO (extended Geosynchronous) filters
- Reentry Risk Color Scheme: New visualization mode for identifying satellites with reentry concerns
- Engine/Application Separation: Complete restructuring into isolated engine and application layers for improved maintainability
- OOTK Integration: Migrated from npm package to local submodule for tighter integration and development
- ServiceLocator Pattern: Implemented dependency injection for better testability and modularity
- EventBus Refactoring: Standardized event handling with type-safe event system
- Camera State Management: Introduced CameraState class centralizing all camera properties
- Performance Optimizations:
- Cached orbit buffers to reduce GPU read operations
- Optimized DOM interactions with idle callbacks
- Improved marker loop efficiency for satellite identification
- Reduced unnecessary buffer reallocations
- J2000/TEME Support: Dual coordinate system rendering for segmented radial grids and orbital paths
- Enhanced Line Rendering: Support for vec4 points allowing per-vertex alpha and custom parameters
- Improved Orbit Segments: Better visualization of OEM satellite trajectory history
- Distance-Based Sizing: Satellites scale appropriately based on viewing distance
- Constellation Updates: Refreshed AEHF and DSCS satellite constellation data
- Home Key Navigation: Press Home to instantly center camera on Earth
- Shift+Home Functionality: Select Earth as centered body while resetting zoom
- Keyboard Shortcut Normalization: Aligned keyboard controls with industry standards
- Search by Alternate Names: Flexible satellite identification using common aliases
- Loading Screen Improvements: Enhanced splash screen with progress indicators and optional start button
- Screenshot Watermark Scaling: Logo now scales properly with high-resolution exports
- TypeScript Improvements: Enhanced type definitions across managers and service locator
- Build System Upgrades: Streamlined webpack configuration and build processes
- Testing Infrastructure: Updated test suite to match v11 architecture
- Development Tools: Added Volta toolchain configuration for Node.js version management
- Linting Improvements: Refined ESLint rules and disabled problematic checks
- Texture Quality Settings: Independent controls for Earth, skybox, and planetary textures
- Planet Toggle Settings: Enable/disable planetary rendering as needed
- Mobile Optimization: Improved texture resolution settings independent of mobile detection
- Embed Configuration: Updated embed settings to reflect new plugins and options
- Default Plugin Updates: Refined default plugin set for optimal user experience
-
Rendering Fixes:
- Fixed J2000 vs TEME coordinate system confusion
- Corrected depth test handling for Earth at different zoom levels
- Resolved vertex shader NaN/Inf issues for extreme coordinates
- Fixed unnecessary shader attribute w recovery in log depth calculations
- Adjusted cloud density for more realistic appearance
-
Camera & Navigation:
- Fixed instant camera snap when chase speed is 1.0
- Corrected camYaw residual error during camera targeting
- Improved zoom value bounds validation in URL manager
- Fixed camera distance calculations for non-Earth-centered objects
-
UI & Interaction:
- Resolved sidenav-trigger z-index preventing popup interaction
- Fixed colorbox title styles and layout issues
- Corrected top menu item whitespace formatting
- Updated icon paths in web manifest for consistency
- Fixed close button markup in draggable modal
-
Data & Processing:
- Removed dead satellite IDs from DSCS constellation
- Added missing satellite to AEHF constellation
- Fixed duplicate channel entries in data processing
- Corrected OEM satellite orbit segment positioning
- Improved altitude calculations for non-Earth-centered objects
-
Performance & Stability:
- Resolved circular reference issues from unnecessary exports
- Fixed broken tests due to architectural changes
- Addressed security issue with cross-origin keyboard events
- Throttled URL updates to prevent browser hangs
- Fixed buffer size validation in LineManager
-
Shader & Graphics:
- Included WebGL error codes in shader creation errors for better debugging
- Fixed godrays breaking after screen resize
- Corrected cone alignment issues with satellites
- Improved sun size scaling at extreme distances
- Fixed unnecessary br elements affecting layout
- Updated User Guides: Comprehensive documentation for planetary navigation and new UI features
- API Documentation: Enhanced coverage for engine/application separation and new rendering systems
- Translation Documentation: Guides for adding new languages and maintaining translations
- Developer Documentation: Architecture guides for engine isolation and service locator pattern
- Plugin Development: Updated examples for new plugin infrastructure and localization support
- Architecture Restructure: Code reorganized into
appandenginefolders - update imports accordingly - Camera State API: Camera properties now accessed through
CameraStateclass instead of directly on camera - EventBus Changes: Event names and signatures updated - review event handling code
- Shader Changes: Log depth buffer implementation affects custom shaders
- Plugin Interface: Plugin initialization and dependency injection patterns updated
- Update Imports: Change paths from
/src/to/src/app/or/src/engine/as appropriate - Camera Access: Replace direct camera property access with
camera.state.* - Event Handling: Update EventBus subscriptions to use new event name constants
- ServiceLocator: Use dependency injection instead of global singleton access where possible
- Testing: Update test mocks to account for new architecture
- Planetary ring rendering limited to Saturn and Uranus
- Some dwarf planets (Eris, Haumea, Ceres) not yet implemented
- OEM format only supports position/velocity states (no attitude data)
- Maximum time slider range dependent on OEM ephemeris availability
- Logarithmic depth buffer requires WebGL 2.0 support
This release represents the most significant architectural advancement in Keep Track's history, embodying the Copernican spirit of viewing space from new perspectives. The combination of planetary exploration, OEM support, and comprehensive internationalization opens new possibilities for education, mission planning, and global space situational awareness. The revolutionary world-shift system and logarithmic depth buffer enable seamless navigation from Earth orbit to the outer solar system, while the engine/application separation provides a solid foundation for future innovations.
Like Copernicus's heliocentric model expanded humanity's understanding of our place in the cosmos, Keep Track 11 expands the boundaries of what's possible in satellite tracking and space visualization. By enabling users to center on any celestial body and explore the solar system from any perspective, we've transformed Keep Track from an Earth-centric satellite tracker into a comprehensive solar system awareness platform.
As we continue to evolve Keep Track, we remain committed to providing cutting-edge tools for space professionals, educators, and enthusiasts worldwide. Future updates will build upon this Copernican foundation with enhanced planetary features, additional ephemeris formats, expanded dwarf planet support, and new analysis capabilities that leverage our multi-body reference frame system.