PackedStar

interface PackedStar

One star system as the file stores it: measurements and identifiers, nothing derived. starCatalog.ts turns this into the physical description the simulation and the renderer consume.

universe/src/catalog/format.ts:103

Members

absoluteMagnitudereadonly

absoluteMagnitude: number | null

Absolute visual magnitude, or null.

bayerreadonly

bayer: number

Index into the Bayer letter table, or NO_INDEX.

bayerSuperscriptreadonly

bayerSuperscript: number

Bayer superscript (α¹ = 1), or 0 for none.

colorIndexreadonly

colorIndex: number | null

Color index B−V, or null.

commonNamereadonly

commonName: string

The name to show by default.

Decided by the ingest and stored rather than recomputed, because the choice needs to see the whole system — whether a sibling component also carries a proper name is what decides between Rigil Kentaurus and Alpha Centauri — and a decoder holding one row cannot see that. Never empty: the ingest falls back through the designations to the id.

componentsreadonly

components: number

Number of stellar components. 1 means "not known to be multiple".

constellationreadonly

constellation: number

Index into the constellation table, or NO_INDEX.

flamsteedreadonly

flamsteed: number

Flamsteed number, or 0.

gliesereadonly

gliese: string

Gliese designation exactly as the catalog writes it, or ''.

hdreadonly

hd: number

Henry Draper number, or 0.

hipreadonly

hip: number

Hipparcos number, or 0.

hrreadonly

hr: number

Harvard Revised (Yale Bright Star) number, or 0.

idreadonly

id: string

The canonical system id, verbatim.

Stored rather than derived from the identifiers below, even though identity.ts can compute it, because an id is identity: deriving it at load would mean a client running different code could compute a different address for the same row, and an address that depends on the reader is not an address. The ingest decides once and the file carries the decision.

properreadonly

proper: string

IAU proper name, or ''.

provenancereadonly

provenance: 'observed' | 'projected' | 'surveyed'

spectralTypereadonly

spectralType: string

The classification string exactly as the source catalog wrote it, or ''.

Verbatim, not canonicalized. Rewriting sdM4 as M4VI at pack time was tried and is the wrong side of the same rule the rest of the file follows: the string is the measurement, the canonical MK form is derived from it, and parseSpectralType runs at load anyway. Storing the original also lets the system panel cite what it is claiming, which the design asks for and a rewritten string cannot support.

xreadonly

x: number

Galactic cartesian meters, Sun at the origin, +x toward the center.

yreadonly

y: number

zreadonly

z: number