From 5ab4c5df89c5b69bf1e194d7daae08c76437ff4f Mon Sep 17 00:00:00 2001 From: Senrokai Date: Wed, 30 Sep 2026 00:07:18 +0200 Subject: [PATCH] Say a planet has no temperature because its star's luminosity or its orbit is unknown, not its star The card and the body page said "Its host star is not in the catalogue" for every planet without an equilibrium temperature. Over the shipped data that is 2 714 planets, and the host really is missing for 27. 2 420 have no semi-major axis, and since 869635b gave a star no survey measured no luminosity, 267 more have a host that is on the map: OGLE-2005-BLG-390L b's card said so inside its own host's system. The text now names both things that can be missing without claiming which: "No temperature could be derived: its star's luminosity or its orbit's size is not known." In the app on :4302, /body/OGLE-2005-BLG-390L b and /body/PSR J1719-1438 b read it. Test: the object card's missing-temperature case now expects the new sentence and checks the old claim is gone. Control: putting the old sentence back fails it. Co-Authored-By: Claude Opus 5.5 (1M context) --- src/app/features/body-detail/body-detail.model.ts | 4 ++-- src/app/features/body-detail/body-readouts.ts | 8 +++++++- .../galaxy-system/system-object-card.component.spec.ts | 4 +++- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/app/features/body-detail/body-detail.model.ts b/src/app/features/body-detail/body-detail.model.ts index eed591b..65d9462 100644 --- a/src/app/features/body-detail/body-detail.model.ts +++ b/src/app/features/body-detail/body-detail.model.ts @@ -26,8 +26,8 @@ export interface BodyDetailViewModel { /** * What this world is inferred to look like, and the quantities that inference rests on. Always * present — every body has measurements enough to place it somewhere — but its individual - * fields are nullable, since a body whose host star is not in the catalogue has no derived - * temperature. + * fields are nullable, since a body whose host star's luminosity or whose orbit's size is not + * known has no derived temperature. */ appearance: PlanetAppearance; /** True when a real photograph is being shown rather than the derived surface. */ diff --git a/src/app/features/body-detail/body-readouts.ts b/src/app/features/body-detail/body-readouts.ts index 67611fc..ef09264 100644 --- a/src/app/features/body-detail/body-readouts.ts +++ b/src/app/features/body-detail/body-readouts.ts @@ -71,12 +71,18 @@ export function bodyReadouts(body: BodyDetailViewModel): BodyReadouts { /** * The derived surface is a reasoned illustration, and a panel of real measurements sitting next * to it is exactly the context in which it could be mistaken for another one. + * + * With no temperature, it says what is missing without claiming which: the host's luminosity, or + * the orbit's size. It used to say the host was not in the catalogue, which is so for 27 of the + * 2 714 planets it was printed on. Of the rest, 2 420 have no semi-major axis, and since 869635b + * 267 have a host no survey measured the brightness of — OGLE-2005-BLG-390L b, read inside its + * own host's system. */ function provenanceFor(body: BodyDetailViewModel): string { if (body.hasPhotography) { return 'Surface: NASA/ESA/USGS photography.'; } return body.appearance.equilibriumTemperatureK === null - ? 'Surface illustrated from this body’s measured size and mass. Its host star is not in the catalogue, so no temperature could be derived. Not an observation — no image of this world exists.' + ? 'Surface illustrated from this body’s measured size and mass. No temperature could be derived: its star’s luminosity or its orbit’s size is not known. Not an observation — no image of this world exists.' : 'Surface illustrated from the measurements above — size, density and the temperature derived from its star’s output and its orbit. Not an observation — no image of this world exists.'; } diff --git a/src/app/features/galaxy-system/system-object-card.component.spec.ts b/src/app/features/galaxy-system/system-object-card.component.spec.ts index ff59b0d..4c0bd50 100644 --- a/src/app/features/galaxy-system/system-object-card.component.spec.ts +++ b/src/app/features/galaxy-system/system-object-card.component.spec.ts @@ -108,7 +108,9 @@ describe('SystemObjectCardComponent', () => { appearance: appearance({ equilibriumTemperatureK: null }), }); expect(block(host, 'Derived')).not.toContain('Equilibrium temp.'); - expect(host.textContent).toContain('host star is not in the catalogue'); + // Not that the host is missing, which it is for 27 of the 2 714 planets without a temperature. + expect(host.textContent).toContain('its star’s luminosity or its orbit’s size is not known'); + expect(host.textContent).not.toContain('not in the catalogue'); }); it('emits rather than navigating, so the scene decides what selection means', () => {