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 41ea67c..975143c 100644 --- a/README.md +++ b/README.md @@ -85,6 +85,10 @@ Fixed-angle methods (ISNA 15 degrees, MWL 18 degrees, etc.) produce inaccurate F Result: approximately 18 degrees at the equator, approximately 12-14 degrees at 50-55 degrees N in summer. Matches observational data from the Moonsighting Committee Worldwide. +## Architecture + +Built in three layers: (1) [nrel_spa](https://pub.dev/packages/nrel_spa) provides the solar ephemeris foundation; (2) the MSC piecewise model computes seasonal minute offsets which are converted to depression angles via spherical trigonometry; (3) physics corrections (Earth-Sun distance, refraction, elevation dip) adjust the angle within [10°, 22°] bounds. + ## Compatibility Dart SDK 3.7.0+. Works in Flutter (iOS, Android, Web, Desktop), Dart CLI, and server-side Dart. Single dependency: [nrel_spa](https://pub.dev/packages/nrel_spa).