ZAMAN source uses ES modules, not textual concatenation.
zaman.html loads assets/js/zaman.js, which imports the engine, calendar, globe
and optional client helpers. Detailed maps load zaman-map.js and the local
MapLibre ESM/worker/shared files. The engine/calendar import the generated dependency
bundle. tools/zaman-vendor-entry.js is its esbuild entry point.
Countdown windows load zaman-countdown-page.js and the shared countdown helpers.
Hanetz alone adds its selected-Alot timeline and decorative sky renderer.
Run npm ci --ignore-scripts then npm run build. See README.md for the full
build and loopback-only preview procedure, and SOURCE-MANIFEST.json for files.
