clone

an offline map explorer where each world, from a game map to a city's open data, ships as one .atlas file

capitals wear the marker, and Earth declares its rim

Dami committed fd85f2c
The capital glyph becomes maki/marker -- the map pin everyone already
reads -- vendored into the standard library the way the package's own
rule says a glyph arrives: when a source starts speaking its name. And
the volume joins the curation's outset table: the Blue Marble raster is
dark ocean and shaded ground, so its markers wear the dark rim, the same
declaration Mars makes.
commit
fd85f2cc9457b1a23df78e527f062e504162bc4c
parent
7da80dc7524f6188e88cb925e8ffcf44f3add940
author
Dami <dami.etoile@gmail.com>
kind
feat risk score 1.9 of 3, Jev's estimate
5 files changed, +18 -10
Rincluded/earth-20260803-cfc468fdcde0.atlas → included/earth-20260803-76633cb323ec.atlasbin
Minternal/generate/curation/curation.json21++++++++++++---------
Ainternal/generate/icons/standard/maki/marker.svg4++++
Minternal/generate/sources/nasabluemarble/features.go2+-
Mmain_test.go1+
R included/earth-20260803-cfc468fdcde0.atlas → included/earth-20260803-76633cb323ec.atlas +0 -0

Binary file.

M internal/generate/curation/curation.json +12 -9
@@ -2,29 +2,31 @@
22 "schema": 1,33 "what": "the editorial decisions the generate lane makes about particular volumes, as data rather than as tables in code. Every entry here is a judgement about a specific archive that no rule could derive: which map a game opens on, which rim its markers need against its art, which sheet holds several places at once, and where two sources spell one concept differently. A volume this file says nothing about is composed by the rules alone.",44 "schemaDoc": "docs/generate.md, the curation section, is normative for the shape of this file.",5-65 "window": {76 "what": "the source tile window every world is cut from unless it declares one of its own: the 32-tile square at zoom 13 beginning at tile 4064, which is 8192 world pixels across. It is a property of the corpus, not of the format, which is why it is here and not in format/bundle.",87 "sourceZoom": 13,98 "firstTile": 4064109 },11-1210 "worldOrder": {1311 "what": "a volume's primary world ahead of its secondary areas. Worlds this list does not name follow in title order, so one entry curates a volume without restating its whole archive.",1412 "preferred": {15- "fallout-new-vegas": ["mojave-wasteland"]13+ "fallout-new-vegas": [14+ "mojave-wasteland"15+ ]1616 },1717 "newestFirst": {1818 "what": "volumes whose worlds are dated captures of one ground: a version history. The picker's first entry is the world a reader opens, and a version history opens on the present, so these sort their date-titled worlds newest first.",19- "volumes": ["bend-or"]19+ "volumes": [20+ "bend-or"21+ ]2022 }2123 },22-2324 "iconOutset": {2425 "what": "which rim a world's markers wear so they stay legible against its art. The raster beneath a marker decides which outline reads, so this is declared rather than derived. A volume drawn one way throughout says so once; a single world that differs overrides it.",2526 "byVolume": {2627 "clair-obscur-expedition-33": "dark",2728 "cyberpunk-2077": "dark",29+ "earth": "dark",2830 "fallout-new-vegas": "dark",2931 "fallout76": "dark",3032 "la-noire": "dark",
@@ -33,6 +35,7 @@
3335 },3436 "byVolumeWhy": {3537 "cyberpunk-2077": "Night City's neon-on-black art, either source",38+ "earth": "the Blue Marble raster is dark ocean and shaded ground; a light rim vanishes into ice caps, a dark one reads everywhere else",3639 "fallout-new-vegas": "pale Pip-Boy rasters throughout",3740 "fallout76": "a parchment survey map, pale throughout",3841 "mars": "Viking's pale ochre and MOLA's bright relief wash out a light rim"
@@ -42,13 +45,14 @@
4245 "skyrim/solstheim": "dark"4346 }4447 },45-4648 "pixelArt": {4749 "what": "volumes drawn on a pixel grid. Their pyramids are folded down nearest-neighbour and normalized to lossless PNG, and a reader draws them without interpolation, so the grid survives instead of being blurred into itself. Everything else is a photograph as far as the deriver is concerned.",4850 "why": "a box filter over a sprite map turns a two-pixel wall into a four-pixel smear, and a JPEG of it stores the smear",49- "volumes": ["pokemon-red-blue-yellow", "pokemon-firered-leafgreen"]51+ "volumes": [52+ "pokemon-red-blue-yellow",53+ "pokemon-firered-leafgreen"54+ ]5055 },51-5256 "shard": {5357 "what": "the sheets that hold several separate places at once, and what to do with them. A sheet is declared here and never detected: guessing wrong divides a whole map into pieces nobody asked for. \"worlds\" gives each piece its own entry in the picker; \"lenses\" keeps one world and offers the pieces one at a time.",5458 "worlds": {
@@ -60,7 +64,6 @@
6064 "zelda-tears-of-the-kingdom/hyrule": "the Sky, Surface and Depths of one ground"6165 }6266 },63-6467 "collectionEquivalents": {6568 "what": "the shared concept where two sources spell one collection differently, per volume, keyed by the collection's artwork key. Composition writes the shared name onto the collection as atlas.collection.key, so the payload itself carries the merge identity and a later merge reads only the attribute. Collections whose keys already agree pair by themselves; everything else stays source-specific rather than being guessed together.",6669 "cyberpunk-2077": {
A internal/generate/icons/standard/maki/marker.svg +4 -0
M internal/generate/sources/nasabluemarble/features.go +1 -1
M main_test.go +1 -0