-
Notifications
You must be signed in to change notification settings - Fork 131
Update Documentation and Implement User API V2 #1233
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…license - Rewrote and reorganized README: added Technology Stack, Architecture, Quick Start, Development Commands, Troubleshooting, Deployment, Features, Screenshots, Recent/Previous Versions, Contributors, Trademarks, Use of AI, Additional Resources, and examples. - Improved formatting and content (images, code blocks, examples, API/doc links) and clarified project overview and feature set. - Updated license section to explicitly describe AGPL-3.0 implications and example use cases. - Minor: add rewrap.wrappingColumn to .vscode/settings.json (VSCode settings tweak).
Deploying keeptrack-space with
|
| Latest commit: |
6c8f996
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://32a8c397.keeptrack-space.pages.dev |
| Branch Preview URL: | https://develop.keeptrack-space.pages.dev |
Deploying celestrak-keeptrack with
|
| Latest commit: |
6c8f996
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://e585c9b3.celestrak-keeptrack.pages.dev |
| Branch Preview URL: | https://develop.celestrak-keeptrack.pages.dev |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR comprehensively revamps the README.md to provide a more structured, professional, and user-friendly documentation experience. The update transforms the README from a basic overview into a complete guide covering installation, architecture, contributing guidelines, and licensing details.
Key Changes:
- Restructured content with clear sections and improved navigation
- Added detailed installation guide with troubleshooting steps
- Documented project architecture and design principles
- Expanded contributing guidelines with plugin development examples
Reviewed Changes
Copilot reviewed 2 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| README.md | Complete rewrite with improved structure, detailed sections for installation/architecture/contributing, expanded feature descriptions, and comprehensive licensing information |
| .vscode/settings.json | Added rewrap.wrappingColumn setting to maintain consistent line wrapping at 180 characters |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…test/exclude patterns
Deploying keeptrack-space-embed with
|
| Latest commit: |
6c8f996
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://094bb97a.keeptrack-space-embed.pages.dev |
| Branch Preview URL: | https://develop.keeptrack-space-embed.pages.dev |
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
- Promote main heading to H1 and adjust subheading levels for consistency - Replace "Report a Vulnerability" issue instruction with direct contact ([email protected]) - Wrap long lines and remove extra whitespace for cleaner formatting
Replace keepTrackApi.on(...) calls with EventBus.getInstance().on(...) and add EventBus import so uiManagerFinal and onCruncherMessage listeners are registered correctly.
- Replace separate test environment files (test/setup.js, test/test-env.js, test/test-env-mocks.js) with a single test/jest-setup.js - Update jest.config.js setupFiles to use <rootDir>/test/jest-setup.js - Update satellite-view.test.ts to import EventBus, subscribe/emit via EventBus.getInstance(), and re-enable the addHtml test
…gistry and EventBus; update tests; bump version
- Major dependency-injection refactor:
- Replace direct keepTrackApi usage across the codebase with:
- ServiceLocator.getXxx() for core singletons (renderer, scene, timeManager, catalogManager, sensorManager, uiManager, etc.)
- PluginRegistry.getPlugin() / getPluginByName() for plugin access
- EventBus.getInstance().emit(...) in place of keepTrackApi.emit(...)
- Remove many keepTrackApi imports and add ServiceLocator / PluginRegistry / EventBus imports where needed.
- Adjust code to call PluginRegistry.getPlugin(SelectSatManager) etc., and ServiceLocator.getRenderer(), ServiceLocator.getMainCamera(), etc.
- Rendering & engine updates:
- Updated many rendering managers, meshes, line/orbit managers, and camera logic to use ServiceLocator for renderer/camera/dots data.
- Updated shaders/mesh code to use PluginRegistry/ServiceLocator where appropriate.
- Plugin updates:
- Updated all plugins to use PluginRegistry and ServiceLocator instead of keepTrackApi, and use EventBus for event emissions.
- Adjusted sensor, orbit, watchlist, satellite, UI, and many analysis plugins accordingly.
- UI & utils:
- Updated UI components (draggable boxes, modals, advice, loading, sound, settings, presets) to call ServiceLocator for managers and EventBus for events.
- Updated presets (darkClouds, startalk) to use PluginRegistry / ServiceLocator.
- Tests:
- Updated tests to reflect the DI refactor: replaced keepTrackApi mocks/calls with ServiceLocator/PluginRegistry where applicable.
- Updated tests to emit events via EventBus.getInstance().emit(...) instead of keepTrackApi.emit(...)
- Adjusted setup helpers and environment mocks to register/use ServiceLocator singletons.
- Misc:
- Bumped application version in settings/version.js to 11.0.1
- Updated various small callsites and signatures to align with the new access pattern.
This change centralizes access to core services and plugins, removing the old global keepTrackApi dependency and standardizing event emission through EventBus. Tests and presets were updated accordingly.
… in UiManager and rename file Replace legacy global keepTrackApi usage in the UI manager with ServiceLocator and EventBus APIs. - Use ServiceLocator for renderer, time, sound and color-scheme managers. - Use EventBus.getInstance() for emitting/subscribing to events. - Rename file to ui-manager.ts and update internal references to match the new APIs. - Preserve existing UI behavior (toasts, footer/menu toggles, search, bottom icon handling, resizing). No behavior changes, only API surface and file naming cleanup.
…n / ServiceLocator Replace direct keepTrackApi usage across the codebase with: - KeepTrack.getInstance() for containerRoot and initialization state - ServiceLocator.getUiManager() or other ServiceLocator helpers for UI/plugin actions - PluginRegistry / ServiceLocator usage where appropriate Key changes: - Add containerRoot and isInitialized to KeepTrack; rename isReady -> isInitialized and update startup flow - Remove containerRoot and isInitialized fields from KeepTrackApi and adjust plugin lookup typing - Update many modules and plugins to import KeepTrack or ServiceLocator instead of keepTrackApi - Update tests and test environment to use KeepTrack.getInstance().containerRoot - Minor UI/comment tweaks and test adjustments This centralizes DOM/root and ready state on the KeepTrack singleton and standardizes event/ui access via ServiceLocator/EventBus.
- Update VSCode launch.json and tasks.json to use http://localhost:5544 - Update SettingsManager installDirectory for local node tests to :5544 - Update url-manager tests to use localhost:5544 and add missing ServiceLocator/EventBus imports - Minor formatting cleanup in launch.json args
…ers to thread managers - Add generic WebWorkerThreadManager to unify worker lifecycle, node/jest support and messaging. - Implement OrbitCruncherThreadManager and SatCruncherThreadManager; move sat/orbit cruncher message handling out of CatalogManager/OrbitManager into dedicated thread managers. - Replace direct Worker usage with thread managers across the codebase (CatalogManager, OrbitManager, TimeManager, UrlManager, SettingsMenu, tests, etc.). - Create strongly-typed orbit-cruncher interfaces (orbit-cruncher-interfaces.ts) and update orbitCruncher webworker to use typed messages & response codes. - Rework OrbitManager: move/restore implementation to src/app/rendering/orbit-manager.ts and wire it to OrbitCruncherThreadManager; remove old engine/rendering/orbitManager.ts. - Add new thread managers under src/app/threads and update SatCruncher handling (SatCruncherThreadManager). - Update KeepTrack to own thread registry, pass instance to Engine, and delay "ready" until threads are initialized; expose KeepTrack.getInstance() where needed. - Modify Engine API: accept Application (KeepTrack) instance, rename internal flags, add pause()/resume(), and gate updates on application readiness. - Update TimeManager to post time sync to orbitThreadMgr and use consistent message typing. - Clean up imports/types (OrbitManager paths, orbitCruncher msg enums/types, remove obsolete types/constants). - Adjust tests and environment imports to new orbit manager/thread manager locations. This refactor centralizes worker management, adds typed worker messaging, and decouples cruncher logic from rendering/catalog classes to improve testability and thread lifecycle handling.
…dules
- Split monolithic settings.ts (1565 lines) into 8 category files:
* graphics-settings.ts - Rendering, textures, visual effects
* ui-settings.ts - Interface, menus, display settings
* camera-settings.ts - Camera movement, FOV, zoom
* orbital-settings.ts - Orbit calculations, propagation
* data-settings.ts - Data sources, catalogs, servers
* performance-settings.ts - Optimization and limits
* color-settings.ts - Color schemes and object colors
* core-settings.ts - Core settings, plugins, filters
- Refactored SettingsManager to use category instances with programmatic
property accessors for 100% backward compatibility
- Enhanced settingsOverride.js to support both:
* Flat syntax (backward compatible): isDrawSun: true
* Nested syntax (recommended): graphics: { isDrawSun: true }
- Updated deepMerge to handle partial nested overrides while preserving
defaults for unspecified properties
- Maintained all existing methods and functionality
- All property access patterns remain unchanged for consuming code
Breaking Changes: None - fully backward compatible
… checking - Added interface SettingsManager that extends all category classes - Uses TypeScript's declaration merging to expose all properties - Fixes 'property does not exist' TypeScript errors - Runtime behavior unchanged - properties still delegated via getters/setters
…s and update imports
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
…rWR5wakabb7LcckHVFCS Refactor SettingsManager
|
|
- Updated WebWorkerThreadManager to improve Node environment handling and mock worker initialization for testing. - Removed redundant imports and organized code in parse-get-variables.ts and settings.ts. - Added ServiceLocator and EventBus imports in various test files to enhance dependency management. - Updated test cases in catalog-manager, color-scheme-manager, and other test files to utilize ServiceLocator for mocking. - Skipped certain tests in color-scheme-manager and satellite-view.test.ts to address known issues. - Improved setup functions in standard-env.ts to ensure proper initialization of components. - Enhanced test files for various plugins and components to ensure better integration with the ServiceLocator pattern.
|




No description provided.