docs: add Architecture section; ci: add --fatal-infos to dart analyze

This commit is contained in:
Aric Camarata 2026-03-08 17:10:49 -04:00
parent f96c4d1572
commit ac6a87c18a
2 changed files with 5 additions and 1 deletions

View file

@ -19,7 +19,7 @@ jobs:
with:
sdk: ${{ matrix.dart-version }}
- run: dart pub get
- run: dart analyze
- run: dart analyze --fatal-infos
- run: dart test
format:

View file

@ -70,6 +70,10 @@ for (final angle in result.angles) {
Returns `SpaResult` with `zenith`, `azimuth`, `sunrise`, `solarNoon`, `sunset`, and `angles`.
## Architecture
A direct port of the NREL Solar Position Algorithm (Reda & Andreas 2004) to Dart. The implementation follows the original algorithm's 142 intermediate calculations exactly. Custom zenith angles are computed in a single pass alongside the primary solar angles using the same ephemeris state.
## Compatibility
Dart SDK 3.7.0+. Works in Flutter, Dart CLI, and server-side Dart. Zero dependencies.