From 3453cd5d9ff29f67da3c7d99ea74ec6641d42b32 Mon Sep 17 00:00:00 2001 From: Senrokai Date: Tue, 29 Sep 2026 21:18:13 +0200 Subject: [PATCH] Say which cards give how far their orbit strays, since Pluto's does not The date field's description read "Each moon's and dwarf planet's card says how far its orbit strays from 1950 to 2100." Pluto is a dwarf planet on its card, but it moves on Standish's planet elements, and the ETL measures only moons and the SBDB bodies against Horizons: its card ends "Orbit: JPL approximate mean elements (Standish), fit for 3000 BC to AD 3000." and gives no stray figure. In bodies.json, Ceres (7.2), Eris (0.1), Haumea (0.4), Makemake (0.3) and every moon carry one; Pluto does not. The description now reads "AD 1 to AD 3000, where the planets' and Pluto's elements hold. Each moon's card, and Ceres's, Eris's, Haumea's and Makemake's, says how far its orbit strays from 1950 to 2100." The CLOCK_WINDOW comment and the scene's note comment make the same distinction. Test: hud-dock 'opens the date field on the clock's date...' asserts the new sentence. Control: putting the old sentence back fails that test only (1 failed, 836 passed). Co-Authored-By: Claude Opus 5.5 (1M context) --- .../features/galaxy-system/galaxy-system-scene.component.ts | 2 +- src/app/features/hud/hud-dock.component.spec.ts | 4 +++- src/app/features/hud/hud-dock.component.ts | 2 +- src/app/shared/state/time.store.ts | 3 ++- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/app/features/galaxy-system/galaxy-system-scene.component.ts b/src/app/features/galaxy-system/galaxy-system-scene.component.ts index d7f7a9f..1170b46 100644 --- a/src/app/features/galaxy-system/galaxy-system-scene.component.ts +++ b/src/app/features/galaxy-system/galaxy-system-scene.component.ts @@ -1768,7 +1768,7 @@ export class GalaxySystemSceneComponent implements AfterViewInit, OnDestroy { : []), ]); // Where the orbits come from, and for the Sun how far from the present they hold: each - // body's card names its own source, and for a moon or dwarf planet how far it strays from + // body's card names its own source, and for a moon or an SBDB dwarf planet how far it strays from // Horizons over the span it was checked. const source = this.bodies.some((body) => body.systemStarId === star.id) ? 'JPL mean elements, the planets’ fit for 3000 BC to AD 3000 and the moons’ checked from 1950 to 2100, and the SBDB’s osculating ones for Ceres, Eris, Haumea and Makemake, checked over the same span,' : 'published elements'; // Named to the minute, in UTC like the date field: a jump to 18:00 on a given day is a diff --git a/src/app/features/hud/hud-dock.component.spec.ts b/src/app/features/hud/hud-dock.component.spec.ts index 8e1524c..468a3b4 100644 --- a/src/app/features/hud/hud-dock.component.spec.ts +++ b/src/app/features/hud/hud-dock.component.spec.ts @@ -416,7 +416,9 @@ describe('HudDockComponent', () => { expect(field.min).toBe('0001-01-01T00:00'); expect(field.max).toBe('3000-01-01T00:00'); expect(host().querySelector(`#${field.getAttribute('aria-describedby')}`)?.textContent).toContain('AD 1 to AD 3000'); - expect(host().querySelector(`#${field.getAttribute('aria-describedby')}`)?.textContent).toContain('how far its orbit strays from 1950 to 2100'); + // Only the moons and the four dwarf planets from the SBDB are measured against Horizons; Pluto + // is on Standish's planet elements, and its card gives their span instead. + expect(host().querySelector(`#${field.getAttribute('aria-describedby')}`)?.textContent).toContain('Each moon’s card, and Ceres’s, Eris’s, Haumea’s and Makemake’s, says how far its orbit strays from 1950 to 2100'); }); it('jumps the clock to the date submitted, read as UTC', () => { diff --git a/src/app/features/hud/hud-dock.component.ts b/src/app/features/hud/hud-dock.component.ts index 3caf1e8..a8b774c 100644 --- a/src/app/features/hud/hud-dock.component.ts +++ b/src/app/features/hud/hud-dock.component.ts @@ -377,7 +377,7 @@ function isWideViewport(): boolean { Go

- AD 1 to AD 3000, where the planets’ elements hold. Each moon’s and dwarf planet’s card says how far its orbit strays from 1950 to 2100. + AD 1 to AD 3000, where the planets’ and Pluto’s elements hold. Each moon’s card, and Ceres’s, Eris’s, Haumea’s and Makemake’s, says how far its orbit strays from 1950 to 2100.

diff --git a/src/app/shared/state/time.store.ts b/src/app/shared/state/time.store.ts index 227c0f0..9fbd5ab 100644 --- a/src/app/shared/state/time.store.ts +++ b/src/app/shared/state/time.store.ts @@ -33,7 +33,8 @@ const JULIAN_DATE_AT_EPOCH = 2440587.5; * each date measured out to 3000. The start is not the fit's but the date input's, which cannot * go before 0001-01-01. Both are proleptic Gregorian, as a `Date` is, so before 1582 they part from * the Julian-calendar dates history gives: two days behind them at AD 1, level from AD 200 to 300, - * ten days ahead by 1582. The moons and dwarf planets hold for far less of it: each card says how + * ten days ahead by 1582. Pluto, on Standish's elements too, holds with them; the moons and the four + * dwarf planets from the SBDB hold for far less of it: each of their cards says how * far its orbit strays from Horizons from 1950 to 2100 (Ceres 7.1 degrees there, 11.6 by 2200 and * 39 by 1600). */