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', () => {