mapwright
Copyright (c) 2026 Anthony Sligar
Licensed under the MIT License (see LICENSE).

------------------------------------------------------------------------------
Acknowledgements
------------------------------------------------------------------------------

mapwright's algorithms were implemented clean-room from the publicly described
ideas and techniques of the following open-source projects. No source code was
copied from them; this NOTICE credits the lineage of the techniques.

* Azgaar's Fantasy-Map-Generator (MIT License)
    https://github.com/Azgaar/Fantasy-Map-Generator
    Ideas: jittered-grid Voronoi with Lloyd relaxation, flux-accumulation
    rivers, temperature x precipitation -> biome matrix, Markov per-culture
    name generation, single-seed determinism, SVG cartographic rendering,
    composable heightmap templates (hill/range/pit/trough/strait ops combined
    into named continent archetypes), connected-component detection & naming of
    geographic features (ocean/lake/island).

* "Generating fantasy maps" by Martin O'Leary (mewo2), and its C++ implementation
  FantasyMapGenerator by Ryan L. Guy (rlguy) (Zlib License)
    https://mewo2.com/notes/terrain/
    https://github.com/rlguy/FantasyMapGenerator
    Ideas: hydraulic + creep erosion (river * sqrt(flux) * slope + creep *
    slope^2), Planchon-Darboux depression filling for guaranteed drainage,
    slope-normal hillshade ("shaded relief") rendering, per-cell hachure
    (slope-stroke) relief, and simulated-annealing cartographic label placement.

* Town Forge by the Obsidian TTRPG Community (MIT License)
    https://github.com/Obsidian-TTRPG-Community/Town-Forge
    Ideas (clean-room, no code copied): a "map width represents N real-world
    units" scale-bar model with nice-number (1/2/5x10^n) tick rounding, and a
    corner compass rose as map furniture.

* Watabou's TownGeneratorOS (GPLv3)
    https://github.com/watabou/TownGeneratorOS
    Concept only (NO code derived — GPLv3 is incompatible with this MIT
    project): the high-level idea of generating a town as an organic footprint
    subdivided into Voronoi wards. mapwright's settlement code is an independent
    clean-room implementation built on its own geometry primitives.

* Nortantis by Joseph Heydorn (AGPLv3)
    https://github.com/jeheydorn/nortantis
    Concept only (NO code derived — AGPLv3 is incompatible with this MIT
    project): the idea of shaping land with a simple tectonic-plate simulation
    (continental/oceanic plates whose convergent boundaries raise mountain
    ranges), and the general approach of compositing a map from stamped symbol
    images. mapwright's plate model and AtlasRenderer are independent clean-room
    implementations; AtlasRenderer's optional art-pack auto-discovery merely
    recognises a Nortantis-like folder naming convention (mountains/, hills/,
    trees/, …) as a data layout — no Nortantis code or art is used or bundled.

* "Fractal Worldmap Generator" by John Olsson / Torben Æ. Mogensen
    https://www.lysator.liu.se/~johol/fwmg/fwmg.html
    Ideas (clean-room): a percentile/histogram sea level so a target water
    fraction is met, and elevation built from many random "faults" rather than a
    centred radial field.

The tectonic-world engine (src/mapwright/_tectonics.py) is derived from the
author's own "genmap" experiment: a spherical plate simulation (Fibonacci-sphere
nodes, warped-Voronoi plates, Euler-pole + Rodrigues plate motion, and boundary
geomorphology — convergent uplift, subduction, rift spreading). Author's own work;
reimplemented here numpy-only and seed-deterministic.

The name lists ("namebases") bundled with mapwright are original, hand-authored
data, not derived from any third-party generator.
