Say what the project is, in the two places people arrive

The README opened without mentioning that the thing is deployed, and the HTML
document carried a title and nothing else — no description, no link preview.
Both matter more now that there is a public URL to land on.

README: the live link up top; the object card and the measured/derived split
from #3, which were built but never written down; `shared/format/`, `public/`
and `.github/workflows/` in the layout.

index.html: a description, a theme colour matching --color-void so the browser
chrome does not flash white around a black sky, and Open Graph/Twitter tags so
a shared link renders as something other than a bare URL. Those URLs are
absolute and name the deployment outright — a scraper has no document to
resolve a relative path against, so they cannot follow <base> the way the rest
of the app's paths do. A custom domain later means editing these three lines.

The preview image is the galactic view, copied into `public/` so it is served
by the site itself rather than linked out to raw.githubusercontent.

Verified: the built document keeps every tag, the base href still rewrites to
/star-map/, the image answers 200 at the path the og:image names, and both the
root and a deep link still render. 527 tests pass.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WaySiNst4HhDXBHnMy8p5G
This commit is contained in:
Claude
2026-08-07 14:22:29 +00:00
parent 433bcca8a2
commit 7d07921d69
3 changed files with 38 additions and 1 deletions
+21
View File
@@ -5,6 +5,10 @@ real astronomical data instead of fictional systems. Browse the solar neighbourh
star's system to see its planets on their real orbits, and drill into a single body for the
NASA figures behind it.
**Live at <https://avalon-vanguard.github.io/star-map/>**, published from `main` by
[`.github/workflows/pages.yml`](.github/workflows/pages.yml). There is no backend — the whole
thing is static files and a few megabytes of baked catalogue.
The source of a small Claude Code plugin also lives here — see [Plugins](#plugins) below.
![The solar neighbourhood: 68 388 catalogued stars within 250 parsecs, on a polar grid lying in the galactic plane](docs/screenshots/galaxy-view.jpg)
@@ -74,6 +78,20 @@ around it. Mercury's, three pixels wide at that range, does not survive either w
with real photography where NASA/ESA/USGS imagery exists, and a surface derived from the body's
own measurements where it does not. See "On surfaces that were never photographed" below.
**Object card** — hovering a body in the system view raises its figures over the live scene and
clicking pins them, so two planets can be compared without flying out and back; **Full view**
opens the detail route when the close-up is wanted. The card and the detail panel are built from
one shared view model and one shared set of readouts, which is what stops the same planet reading
255 K in one and 254 K in the other.
**Measured against derived** — every figure is filed under the heading it earns. A published
radius is measured; an equilibrium temperature computed from the host star's luminosity is
derived, and says so. Orbital period is shown where it can honestly be had: for a heliocentric
orbit it follows exactly from the semi-major axis, because in these units the Sun's mass *is* the
unit of mass — Mars comes back 687.0 d against a published 686.98. It is deliberately absent for
moons, whose elements are relative to a parent planet the catalogue carries no mass for, and for
exoplanets, where assuming a solar-mass host would mis-state every planet around an M dwarf.
**Search** — name search across stars, solar-system bodies and exoplanets, navigating to the
same place an in-scene click would.
@@ -281,9 +299,12 @@ src/app/
Milky Way structure
shared/models/ record contracts shared by the app and the ETL
shared/rendering/ skybox, glow sprites, texture catalog
shared/format/ one formatter per physical quantity, precision following magnitude
shared/state/ navigation store (Angular signals)
tools/etl/ build-time data pipeline
e2e/ Playwright end-to-end tests
public/ files served at the site root (favicon, link-preview image)
.github/workflows/ CI, the Pages deploy, and an automated review pass
```
The design document behind all of this is `.junie/plans/nasa-star-map.md`.