From 4b946259e18854c7df02319111dc0ac245380c4b Mon Sep 17 00:00:00 2001 From: Theodore Kruczek Date: Mon, 24 Nov 2025 19:52:09 -0500 Subject: [PATCH] fix: update version to 11.0.3 and adjust color handling for OemSatellite --- README.md | 2 +- package.json | 4 ++-- src/app/objects/oem-satellite.ts | 8 ++++++-- src/app/rendering/orbit-manager.ts | 8 +++++++- .../rendering/color-schemes/celestrak-color-scheme.ts | 2 +- .../rendering/color-schemes/object-type-color-scheme.ts | 4 ++-- src/plugins-pro | 2 +- src/settings/version.js | 2 +- 8 files changed, 21 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index ae20d1557..6b61fc939 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -![Latest Version](https://img.shields.io/badge/version-11.0.1-darkgreen?style=flat-square) ![GitHub commit activity](https://img.shields.io/github/commit-activity/m/thkruz/keeptrack.space?style=flat-square) ![language](https://img.shields.io/github/languages/top/thkruz/keeptrack.space?style=flat-square) ![Languages](https://img.shields.io/github/languages/count/thkruz/keeptrack.space?style=flat-square) ![GitHub issues](https://img.shields.io/github/issues/thkruz/keeptrack.space?style=flat-square) ![License](https://img.shields.io/github/license/thkruz/keeptrack.space?style=flat-square) +![Latest Version](https://img.shields.io/badge/version-11.0.3-darkgreen?style=flat-square) ![GitHub commit activity](https://img.shields.io/github/commit-activity/m/thkruz/keeptrack.space?style=flat-square) ![language](https://img.shields.io/github/languages/top/thkruz/keeptrack.space?style=flat-square) ![Languages](https://img.shields.io/github/languages/count/thkruz/keeptrack.space?style=flat-square) ![GitHub issues](https://img.shields.io/github/issues/thkruz/keeptrack.space?style=flat-square) ![License](https://img.shields.io/github/license/thkruz/keeptrack.space?style=flat-square) KeepTrack.Space diff --git a/package.json b/package.json index dea21ae69..c256f37e8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "keeptrack.space", - "version": "11.0.2", + "version": "11.0.3", "type": "module", "description": "Complex astrodynamics tools designed for non-engineers to make learning about orbital mechanics and satellite operations more accessible.", "author": "Theodore Kruczek", @@ -173,4 +173,4 @@ "volta": { "node": "25.0.0" } -} +} \ No newline at end of file diff --git a/src/app/objects/oem-satellite.ts b/src/app/objects/oem-satellite.ts index aa69bc2db..a6b5ba255 100644 --- a/src/app/objects/oem-satellite.ts +++ b/src/app/objects/oem-satellite.ts @@ -1,4 +1,4 @@ -import { SolarBody } from '@app/engine/core/interfaces'; +import { rgbaArray, SolarBody } from '@app/engine/core/interfaces'; import { ServiceLocator } from '@app/engine/core/service-locator'; import { EventBus } from '@app/engine/events/event-bus'; import { EventBusEvent } from '@app/engine/events/event-bus-events'; @@ -6,6 +6,7 @@ import { LagrangeInterpolator } from '@app/engine/ootk/src/interpolator/Lagrange import { LineColors } from '@app/engine/rendering/line-manager/line'; import { OrbitPathLine } from '@app/engine/rendering/line-manager/orbit-path'; import { BaseObject, J2000, Kilometers, Seconds, SpaceObjectType, TEME } from '@ootk/src/main'; +import { vec4 } from 'gl-matrix'; import { SatelliteModels } from '../rendering/mesh/model-resolver'; export interface OemHeader { @@ -74,6 +75,9 @@ export class OemSatellite extends BaseObject { pointsJ2000: [number, number, number, number][] = []; moonPositionCache_: { [key: number]: { position: { x: number; y: number; z: number } } } = {}; + orbitColor: vec4 = LineColors.GREEN; + dotColor: rgbaArray = [0, 255, 0, 1]; + eci(date: Date): { position: { x: number; y: number; z: number }; velocity: { x: number; y: number; z: number } } | null { const posAndVel = this.updatePosAndVel(date.getTime() / 1000 as Seconds); @@ -526,7 +530,7 @@ export class OemSatellite extends BaseObject { this.orbitHistoryLine.isGarbage = true; } - this.orbitHistoryLine = lineManager.createOrbitPath(points, LineColors.GREEN, SolarBody.Earth); + this.orbitHistoryLine = lineManager.createOrbitPath(points, this.orbitColor ?? LineColors.GREEN, SolarBody.Earth); } removeOrbitHistory(): void { diff --git a/src/app/rendering/orbit-manager.ts b/src/app/rendering/orbit-manager.ts index 519575f89..2358822e5 100644 --- a/src/app/rendering/orbit-manager.ts +++ b/src/app/rendering/orbit-manager.ts @@ -446,7 +446,13 @@ export class OrbitManager { if (hoverId !== -1 && hoverId !== this.currentSelectId_ && !ServiceLocator.getCatalogManager().getObject(hoverId, GetSatType.EXTRA_ONLY)?.isStatic()) { OrbitManager.checkColorBuffersValidity_(hoverId, colorSchemeManagerInstance.colorData); - this.lineManagerInstance_.setColorUniforms(settingsManager.orbitHoverColor); + const sat = ServiceLocator.getCatalogManager().getObject(hoverId, GetSatType.EXTRA_ONLY); + + if (sat instanceof OemSatellite) { + this.lineManagerInstance_.setColorUniforms(sat.dotColor ?? settingsManager.orbitHoverColor); + } else { + this.lineManagerInstance_.setColorUniforms(settingsManager.orbitHoverColor); + } this.writePathToGpu_(hoverId); } } diff --git a/src/engine/rendering/color-schemes/celestrak-color-scheme.ts b/src/engine/rendering/color-schemes/celestrak-color-scheme.ts index c413b3714..729128760 100644 --- a/src/engine/rendering/color-schemes/celestrak-color-scheme.ts +++ b/src/engine/rendering/color-schemes/celestrak-color-scheme.ts @@ -101,7 +101,7 @@ export class CelestrakColorScheme extends ColorScheme { if (((obj as OemSatellite).source ?? '') === 'OEM Import') { return { - color: [1.0, 0.5, 0.0, 1.0], + color: (obj as OemSatellite).dotColor, pickable: Pickable.Yes, }; } diff --git a/src/engine/rendering/color-schemes/object-type-color-scheme.ts b/src/engine/rendering/color-schemes/object-type-color-scheme.ts index 9611f844d..4be2dd225 100644 --- a/src/engine/rendering/color-schemes/object-type-color-scheme.ts +++ b/src/engine/rendering/color-schemes/object-type-color-scheme.ts @@ -3,6 +3,7 @@ import { MissileObject } from '@app/app/data/catalog-manager/MissileObject'; import { OemSatellite } from '@app/app/objects/oem-satellite'; import { Planet } from '@app/app/objects/planet'; import { ColorInformation, Pickable, rgbaArray } from '@app/engine/core/interfaces'; +import { ServiceLocator } from '@app/engine/core/service-locator'; import { EventBus } from '@app/engine/events/event-bus'; import { EventBusEvent } from '@app/engine/events/event-bus-events'; import { html } from '@app/engine/utils/development/formatter'; @@ -11,7 +12,6 @@ import { BaseObject, DetailedSatellite, SpaceObjectType, Star } from '@ootk/src/ import { CameraType } from '../../camera/camera'; import { errorManagerInstance } from '../../utils/errorManager'; import { ColorScheme, ColorSchemeColorMap } from './color-scheme'; -import { ServiceLocator } from '@app/engine/core/service-locator'; export interface ObjectTypeColorSchemeColorMap extends ColorSchemeColorMap { payload: rgbaArray; @@ -104,7 +104,7 @@ export class ObjectTypeColorScheme extends ColorScheme { if (((obj as OemSatellite).source ?? '') === 'OEM Import') { return { - color: [1.0, 0.5, 0.0, 1.0], + color: (obj as OemSatellite).dotColor, pickable: Pickable.Yes, }; } diff --git a/src/plugins-pro b/src/plugins-pro index afc1f232d..d57f2ef54 160000 --- a/src/plugins-pro +++ b/src/plugins-pro @@ -1 +1 @@ -Subproject commit afc1f232d5497c38e50f0feeaa9f8d5e1076b7c7 +Subproject commit d57f2ef545d7924fa206ca4c8e077e6786a47e52 diff --git a/src/settings/version.js b/src/settings/version.js index 506cae12a..9741023bc 100644 --- a/src/settings/version.js +++ b/src/settings/version.js @@ -3,4 +3,4 @@ /** * The current application version */ -export const VERSION = '11.0.1'; +export const VERSION = '11.0.3';