diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8cd5e7f..380dbf6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -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: diff --git a/README.md b/README.md index 215f87a..c19ec45 100644 --- a/README.md +++ b/README.md @@ -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.