From 72fb536fcd5c3ab74e40fd7a7bfc8e6349e8482d Mon Sep 17 00:00:00 2001 From: Aric Camarata Date: Sun, 8 Mar 2026 17:10:35 -0400 Subject: [PATCH] docs: add Architecture section to README --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index ec6a9c8..cb267db 100644 --- a/README.md +++ b/README.md @@ -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