v0.1.11 — Hover thumbnails + Earth year scrubber
Closes Theme A — issue #16. Phase 1 of the multi-phase polish plan.
/missions — Hover trajectory thumbnails
Each mission card now reveals a 240×120 trajectory thumbnail above it on desktop hover. The thumbnails are pre-rendered at build time via node-canvas + the existing mission-arc.ts math — same code path as /explore overlay rings + /fly trajectory, including V∞ shaping when mission.flight.arrival.v_infinity_km_s is populated.
- Mars-bound missions: heliocentric view (Sun centred, Earth + Mars orbits, outbound arc, teal departure + gold arrival nodes)
- Moon-bound missions: cislunar view (Earth centred, Moon orbit ring, Bezier arc to a Moon position derived from transit_days)
- 28 PNGs total, ~5 KB each (~140 KB net)
- Mobile users (no
:hover) navigate via the FLY button — no long-press affordance needed
/earth — Year scrubber + arrival pulse
A native <input type=\"range\"> control above the /earth canvas (1957 → 2030) drives object visibility in both 2D and 3D views. When the scrubber crosses an object's launched year, a 600 ms expanding teal ring pulses around the dot in 2D.
- URL sync via
?year=2009per ADR-024 - Native input gives keyboard + screen-reader access for free
- Pulse animation collapses via the global
prefers-reduced-motion: reducerule - Visible-count badge updates as the scrubber moves
Engineering
- New devDependency:
canvas(native module; Python 3 + build tools required for install — documented in CONTRIBUTING follow-up) - 207 unit tests + 73 e2e tests (was 71, +2 for scrubber URL sync + clamp)
- One v0.1.7-era e2e fixed: artemis3 was promoted from "unknown" to "sparse" by issue #31, so the FLIGHT-tab unknown-caveat test now targets
starship-demo
Theme A status
- ✅ A1 — mission overlay rings on /explore (shipped v0.1.10)
- ✅ A2 — hover thumbnails on /missions (this release)
- ✅ A3 — /fly HUD reflow (naturally addressed by prior polish work)
- ✅ A4 — /earth pulses + year scrubber (this release)
Next phase
Phase 2 (v0.1.12) is PWA service worker + manual high-contrast toggle + Lighthouse CI gate. Plan file: `/Users/markodragoljevic/.claude/plans/merry-sniffing-nest.md`.