Keep the meaning
with the number.
Every calculation needs units, a reference and a clear statement of what has been simplified.
Notation you will meet
- θ (theta)
- A generic angle. In orientation, it is measured in degrees.
- λ (lambda), β (beta)
- Ecliptic longitude and latitude: angles measured using the plane of the Earth’s orbit as a reference. Each lesson must state the exact frame and date convention.
- α (alpha), δ (delta)
- Right ascension and declination: angles using the Earth’s equator as the reference plane. Lessons must distinguish degrees, radians and hours of right ascension.
- JD
- A Julian date, a day count with a fractional part. Always include the time scale, such as JD UTC or JD TT.
- [0, 360)
- A range that includes 0 and excludes 360. The square bracket includes an endpoint; the round bracket excludes it.
Units belong to the value
Use ° for degrees and “rad” for radians. TypeScript’s Math trigonometric functions take radians. Distances and rates must carry explicit units, such as kilometres or degrees per day. Never silently convert an angle, distance or time.
The BIPM SI Brochure, section 4, table 8 gives 1° = π/180 rad. We will explain π and the conversion before requiring them in an exercise.
A position needs a viewpoint
“Geocentric” means relative to the Earth’s center; “topocentric” means relative to an observer’s location. A frame tells us which directions its axes point. Lessons will label the origin, reference plane, frame and epoch before using a coordinate.
Do not read an orientation circle as a view of the sky. Its zero point and counterclockwise direction are teaching choices. An implementation lesson must use and explain its actual convention.
A date needs a time scale
UTC, UT1, TT and TDB have different roles. Treat their labels as part of the input. Each lesson will explain the scales it uses and any approximation connecting them, before asking you to calculate with them. A timestamp without its scale is not a complete specification.
Preparation and runtime do different work
The preparation path computes body coordinates before fitting the dataset. Runtime evaluates those fits for chart positions. Houses and node declination still need their own runtime angular calculations. A lesson must say where a correction is applied; it must not imply that every correction runs again for each chart.
Implementation references are listed on each lesson outline. The map follows the current Rust source, including output conventions and fallbacks, rather than promising a different astronomical model.
What “correct” means in an exercise
Every numerical question states its units, rounding and acceptance tolerance. Tolerance for an answer is separate from a model’s astronomical accuracy. A simplified example is labeled before it is used.
Implementation comparisons identify the Rust revision, data provenance, expected result and justified tolerance. Matching Rust proves agreement with that implementation; it does not by itself prove astronomical accuracy.
Reference starting points
For coordinate terminology, use the U.S. Naval Observatory’s Astronomical Almanac glossary. For time-scale terminology, use its Terrestrial Time explanation. Each lesson cites the references supporting its specific formulas and historical claims.