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:
@@ -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.
|
||||
|
||||

|
||||
@@ -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`.
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 242 KiB |
+17
-1
@@ -2,10 +2,26 @@
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Star Map</title>
|
||||
<title>Star Map — the real solar neighbourhood in 3D</title>
|
||||
<!-- Overwritten at build time with the deploy's subpath (`ng build --base-href`). The app's
|
||||
data fetches are relative, so this is what they resolve against. -->
|
||||
<base href="/">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="description" content="An interactive 3D star map built from real astronomical data: 68,388 catalogued stars out to 250 parsecs, planets on their measured orbits, and the NASA figures behind every body.">
|
||||
<!-- Matches --color-void, so the browser chrome does not flash white around a black sky. -->
|
||||
<meta name="theme-color" content="#05070d">
|
||||
<link rel="icon" type="image/x-icon" href="favicon.ico">
|
||||
|
||||
<!-- Link previews. These URLs must be absolute — a scraper resolves them against nothing — so
|
||||
unlike everything else here they do not follow <base> and name the deployment outright. -->
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:url" content="https://avalon-vanguard.github.io/star-map/">
|
||||
<meta property="og:title" content="Star Map — the real solar neighbourhood in 3D">
|
||||
<meta property="og:description" content="68,388 catalogued stars out to 250 parsecs, planets on their measured orbits, and the NASA figures behind every body.">
|
||||
<meta property="og:image" content="https://avalon-vanguard.github.io/star-map/social-preview.jpg">
|
||||
<meta property="og:image:alt" content="The Milky Way's bar, bulge and five spiral arms, with the Sun marked on the Orion Spur">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Orbitron:wght@500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap" rel="stylesheet">
|
||||
|
||||
Reference in New Issue
Block a user