Table of Contents
The unsorted list of used libraries. Many thanks to the authors.
Current npm dependencies
The source build uses these runtime packages:
- D3.js v7 by Mike Bostock and contributors
- Delaunator by Vladimir Agafonkin
- Polylabel by Vladimir Agafonkin
- Lineclip by Vladimir Agafonkin
- Three.js by mrdoob and Three.js contributors
- Driver.js for the guided UI tour
- Quill 2 — the rich text editor in the Notes editor
- Alea for seeded random numbers
Vite, TypeScript, Vitest, Playwright and Biome are used as development tools. Node.js 24 or newer is required to build.
Vendored browser bundles
public/libs/ holds vendored browser bundles that legacy, non-migrated code still loads as classic scripts. They are not npm dependencies — check package.json and the individual imports before adding or removing one.
Loaded on page load from src/index.html:
- jQuery and jQuery UI by the jQuery team — dialogs and sortable lists
- jQuery UI Touch Punch — touch support for the jQuery UI widgets
- D3.js v5 — the global
d3used by the non-migrated modules - flatqueue by Volodymyr Agafonkin — priority queue used by the generators
- Delaunator, Alea and Polylabel browser builds
indexedDB.js— a thin wrapper around IndexedDB used for browser storage- simplify.js by Volodymyr Agafonkin — coastline simplification
- RgbQuant.js by Leon Sorokin — color quantization for the heightmap image converter
Loaded on demand:
- Three.js with
OrbitControls,mapControls,loopsubdivisonandOBJExporter— the 3D scene - JSZip by Stuart Knightley, David Duponchel, Franz Buchinger and António Afonso — tile export
- Dropbox SDK — saving to and loading from Dropbox
- Help gateway at ask.azgaarsfmg.com — answers the in-app help assistant; nothing is bundled, the app only calls it when a question is asked
Main Page | Quick Start Tutorial | Q&A | Shortcuts | URL parameters | Changelog | Report a bug or suggest an idea | Policy
These pages are maintained in the main repository and synced automatically. Edits made here will be overwritten — please open a pull request instead.