WhatTheStar · /design
foundations sky-types

    Foundation

    Sky types

    One table — src/design/skyTypes.ts — decides the colour and the glyph for every kind of thing in the sky, and every surface that names an object reads it: the info panel, the Tonight list, search results, the archive, guide annotations and the map's own labels. Nothing chooses its own.

    The interface may not invent a colour the sky does not already use.

    There are five families and there will not be a sixth. Four of the hues were already on the canvas before the chips existed; the fifth was the one left over. A new kind of thing joins a family — it does not arrive with a hue of its own, because a hue nobody has seen the map draw teaches the reader nothing.

    — The five families

    Stars

    var(--t-tone-amber)

    Star names are drawn amber on the map, warm like the sprites underneath them. The interface follows the sky, not the other way round.

    Star Double star Variable star

    Deep sky

    var(--t-tone-plum)

    The one family that used to borrow the star colour, which made a galaxy and a star the same thing at a glance — in the list and in the sky. Plum in both places now.

    Galaxy Nebula Planetary nebula Open cluster Globular cluster

    Figures

    var(--t-tone-sky)

    Figure lines and their names are accent blue on the map. A constellation, an asterism and a region are all the same act of drawing on the sky, so they share the hue.

    Constellation Asterism

    Solar system

    var(--t-tone-neutral)

    Sun, Moon and planets are drawn plain white, because they are the only objects bright enough that a tint would misdescribe them. White is a colour here, not an absence of one.

    The Sun The Moon Planet

    Events

    var(--t-tone-ember)

    The only family never drawn on the sphere at all, which is what frees ember for it. Ember also reads as urgency, which is exactly what a shower peaking tonight is.

    Meteor shower Satellite pass Conjunction Eclipse Comet

    — Why every type also carries a glyph

    Under [data-theme="night"] every tone resolves to ember, so that a screen used outdoors does not wreck dark adaptation. That is a deliberate collapse, and it means colour alone can carry nothing at all in red-light mode. The shape has to survive on its own — which is why the table stores an icon next to the tone rather than instead of it, and why <TypePill> always renders both.

    Flip NIGHT in the bar above

    Star Galaxy Constellation Planet Meteor shower

    Five hues become one ember, and the five glyphs are all that is left telling them apart. Any rule that leans on hue alone stops working here, which is the test a new pattern has to pass before it ships.

    — The legend

    Every row of SKY_TYPES. The gloss is what a reader gets on hover from a dot pill, so it says what the thing is rather than repeating its name.

    MarkTypeIconToneWhat it is
    Star star star amber A sun of its own, far enough away to be a single point of light.
    Double star double-star star amber Two stars close enough to look like one until you magnify them.
    Variable star variable-star star amber A star whose brightness changes on a timescale you can watch.
    Galaxy galaxy galaxy plum Another island of billions of stars, outside our own.
    Nebula nebula nebula plum A cloud of gas and dust, lit by the stars inside or behind it.
    Planetary nebula planetary-nebula nebula plum The shed outer layers of a dying star. Nothing to do with planets.
    Open cluster cluster cluster plum A loose family of stars born together and still drifting apart.
    Globular cluster globular-cluster cluster plum A dense ancient ball of hundreds of thousands of stars.
    Constellation constellation constellation sky One of the 88 official regions the sky is divided into.
    Asterism asterism asterism sky A recognisable pattern that is not itself a constellation.
    The Sun sun sun neutral Our own star. Its position sets when the sky is dark.
    The Moon moon moon neutral Close, bright, and the main thing that spoils a dark sky.
    Planet planet planet neutral A world of our own system, wandering against the fixed stars.
    Meteor shower meteor-shower meteor ember Dust from a comet burning up as Earth crosses its trail.
    Satellite pass satellite-pass satellite ember Sunlight reflected off something in orbit, minutes long.
    Conjunction conjunction conjunction ember Two bodies appearing close together from where you stand.
    Eclipse eclipse eclipse ember One body passing into the shadow of, or in front of, another.
    Comet comet comet ember A dirty snowball growing a tail as it nears the Sun.

    — Using it

    Never hand-pick a type

    Call skyTypeFor(kind, subtype) with what the engine or the catalogue gave you. It is the only place the catalogue's free-text classes are translated, so a "planetary nebula" cannot become a planet on one page and a nebula on another.

    Never hand-pick a colour

    toneVar(tone) returns the custom property, never a literal. If you find yourself writing color: var(--t-tone-plum) next to the word "galaxy", you wanted <TypePill>.

    The map is the other half

    SkyCanvas.astro paints its labels from the same five hues — --lbl-star, --lbl-dso, --lbl-figure, --lbl-body. If a chip and its label disagree, the chip is wrong: the association only forms because both ends of it hold.