Durable architectural decisions, with the reasoning that produced them.
An ADR belongs here when a future developer could plausibly reconsider the decision without knowing why it was made, and the rationale can be grounded in the repository. Ordinary implementation choices do not get an ADR.
| # | Decision |
|---|---|
| 0001 | RenderPlan as the hard renderer boundary |
| 0002 | Planetary illumination composes upstream into one rasterPatch |
| 0003 | Bundled base-map catalog with durable family ids |
| 0004 | One canonical UTC instant per frame |
| 0005 | Dynamic data acquired outside the render path, bound to product time |
| 0006 | Browser-first SPA with a non-load-bearing Tauri shell |
| 0007 | Overlay readability derived upstream, not sampled |
| 0008 | Bundled NASA solar eclipse authority independent of ambient astronomy |
| 0009 | Cached solar eclipse event corridor |
| 0010 | Eclipse events are global; reference-city circumstances are derived |
| 0011 | Lunar-eclipse moonlight attenuation is physical illumination |
| 0012 | Active solar-eclipse obscuration is physical illumination |
| 0013 | Current-only internet data requires live-enough product time |
| 0014 | ISS live TLE uses ordered provider failover |
| 0015 | Domain tour sequencer drives shared Demo time |
| 0016 | Offline planetary apparent-position authority |
| 0017 | Offline IAU Galactic zenith-projection authority |
| 0018 | Milky Way Viewing Window is a reference-city event |
| 0019 | Domain event playback belongs to Data |
| 0020 | Event playback merges enabled domain sources |
| 0021 | One primary Milky Way viewing event, peak-UTC footprint, and HUD notice arbitration |
| 0022 | Observational data distinguishes product time, observation time, and acquisition time |
| 0023 | Observational composites may combine heterogeneous observation times |
| 0024 | Observational quality is distinct from coverage and may lose to better geometry |
| 0025 | Heterogeneous observational display rasters are normalized before shared presentation |
| 0026 | Scene camera is independent of projection, physical state, and scene reference frame |
| 0027 | Moon longitude-lock is a scene reference frame, not camera-follow |
| 0028 | Moon position-lock translates scene-frame latitude; it is not camera-follow |
| 0029 | Sun anchoring reuses Moon axis-lock; it is not a second frame theory |
| 0030 | Anchored scene frames are one production kind; Moon/Sun identity later became target (0032) |
| 0031 | Position-lock default camera is automatic scene-cover zoom, not camera-follow |
| 0032 | Anchored frames target a trackable map object; resolution is separate from frame math |
| 0033 | ISS tracking reuses the anchored-frame target architecture; availability follows existing ISS validity |
| 0034 | User-facing tracking is orthogonal target + mode; production frames remain Earth-fixed vs anchored |
| 0035 | Click-to-track picks Moon/Sun/ISS in scene space and calls setTrackingTarget |
| 0036 | Cities and eligible planets are structured trackable identities on the existing stack |
| 0037 | Galactic Center and Anticenter are explicit Milky Way point targets; there is no synthetic "milkyWay" target |
Format: NNNN-short-title.md, with Context, Decision, Consequences, and Status.
Records 0001–0007 were written during documentation modernization in August 2026. The decisions themselves are older and are evidenced in the source; the records reconstruct rationale from the code, its comments, and the archived planning material in docs/history/. Where rationale could only be inferred rather than evidenced, the record says so or the decision was left without an ADR.
Superseding a decision means adding a new record and marking the old one superseded, not editing the old one.