Skip to content

v0.16.0 — AtlasRenderer & art packs

Choose a tag to compare

@sligara7 sligara7 released this 02 Jun 23:08
· 30 commits to main since this release

AtlasRenderer + ArtPack — hand-drawn / themed atlas rendering

A new optional renderer that stamps symbol images from an external art pack onto a TerrainResult to produce a hand-drawn (or any-style) fantasy-map look: mountains chosen by land_age (young/mid/old), hills, forests (pine/deciduous/cactus by climate), dunes, settlements (by marker kind), and sea decorations + a compass rose — each placed where the physics put it.

mapwright ships no art. An art pack is a directory of PNG symbols plus an optional manifest.json that maps mapwright's neutral concepts (Biome, land_age, settlement size) onto art "slots"; a host (e.g. an image-generation service) produces packs in any style and this renderer just places them. ArtPack.from_directory() reads a manifest, or auto-discovers slots from a conventional (Nortantis-like) folder layout. Missing fine-grained slots fall back to a coarser sibling, so partial packs still work.

Requires Pillow — install the optional extra:

pip install "mapwright[atlas]"

The core library stays numpy-only; without Pillow, import mapwright is unaffected and only AtlasRenderer rendering raises a clear install hint.

This release also rolls up everything since the last PyPI publish (0.11.0–0.16.0): settlement tier, lakes & rain-shadow climate, regional roads & regions, heightmap templates, the tectonic-plate terrain rewrite, and the land_age knob. See CHANGELOG.md for the full history.