docs: add Architecture section to README

This commit is contained in:
Aric Camarata 2026-03-08 17:10:35 -04:00
parent 8ed4472701
commit 72fb536fcd

View file

@ -107,6 +107,12 @@ interface CalendarEngine {
Register with `registerCalendar('my-id', myEngine)`. Then pass `{ calendar: 'my-id' }` to any conversion function.
## Architecture
The UAQ engine performs a binary search over the 184-entry table — O(log 183) per conversion. The FCNA engine computes new moon times using the Meeus Ch. 49 algorithm (3 to 5 trigonometric evaluations per call). The registry pattern lets any consumer add custom calendar systems at runtime without modifying the core.
For more detail see the [Architecture wiki page](https://github.com/acamarata/hijri-core/wiki/Architecture).
## Compatibility
- Node.js 20, 22, 24