docs: add Architecture and Acknowledgments sections; ci: add --fatal-infos to dart analyze

This commit is contained in:
Aric Camarata 2026-03-08 17:10:54 -04:00
parent 4ca3ca6258
commit 506f33c094
2 changed files with 9 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

@ -68,6 +68,10 @@ Haversine distance between two points in kilometers (spherical Earth approximati
| `kaabaLng` | 39.826150 | Ka'bah center longitude (degrees east) |
| `earthRadiusKm`| 6371 | WGS-84 volumetric mean radius |
## Architecture
All calculations use the forward azimuth formula from spherical trigonometry. Great-circle paths use spherical linear interpolation (Slerp). Distance uses the haversine formula. The Ka'bah coordinates are fixed constants verified against published GPS surveys.
## Compatibility
Dart 3.7+. Works with Flutter and standalone Dart applications.
@ -77,6 +81,10 @@ Dart 3.7+. Works with Flutter and standalone Dart applications.
- [qibla](https://www.npmjs.com/package/qibla) (npm) - The TypeScript version of this package.
- [pray-calc](https://github.com/acamarata/pray-calc) - Islamic prayer times calculator.
## Acknowledgments
Ka'bah coordinates verified against published GPS surveys and cross-checked with satellite imagery. Spherical trigonometry formulas follow the standard forward azimuth derivation used in aviation and geodesy.
## License
[MIT](LICENSE)