clone

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

feat/atlas-next-horizon
atlas / internal / generate / curation / curation.json
curation.json 4.5K
1{2 "schema": 1,3 "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.",4 "schemaDoc": "docs/generate.md, the curation section, is normative for the shape of this file.",5 "window": {6 "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.",7 "sourceZoom": 13,8 "firstTile": 40649 },10 "worldOrder": {11 "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.",12 "preferred": {13 "fallout-new-vegas": [14 "mojave-wasteland"15 ]16 },17 "newestFirst": {18 "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": [20 "bend-or"21 ]22 }23 },24 "iconOutset": {25 "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.",26 "byVolume": {27 "clair-obscur-expedition-33": "dark",28 "cyberpunk-2077": "dark",29 "earth": "dark",30 "fallout-new-vegas": "dark",31 "fallout76": "dark",32 "la-noire": "dark",33 "mars": "dark",34 "sonic-frontiers": "dark"35 },36 "byVolumeWhy": {37 "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",39 "fallout-new-vegas": "pale Pip-Boy rasters throughout",40 "fallout76": "a parchment survey map, pale throughout",41 "mars": "Viking's pale ochre and MOLA's bright relief wash out a light rim"42 },43 "byWorld": {44 "skyrim/skyrim": "dark",45 "skyrim/solstheim": "dark"46 }47 },48 "pixelArt": {49 "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.",50 "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",51 "volumes": [52 "pokemon-red-blue-yellow",53 "pokemon-firered-leafgreen"54 ]55 },56 "shard": {57 "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.",58 "worlds": {59 "fallout-new-vegas/mojave-wasteland": "worlds",60 "zelda-tears-of-the-kingdom/hyrule": "lenses"61 },62 "why": {63 "fallout-new-vegas/mojave-wasteland": "eight district insets in the margins",64 "zelda-tears-of-the-kingdom/hyrule": "the Sky, Surface and Depths of one ground"65 }66 },67 "collectionEquivalents": {68 "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.",69 "cyberpunk-2077": {70 "ripper-doc": "ripperdoc",71 "tarot-card": "tarot-graffiti",72 "gun-shop": "weapon-shop",73 "clothes-shop": "clothing-vendor",74 "medicine-shop": "medpoint",75 "melee-shop": "melee-vendor",76 "netrunner-shop": "netrunner"77 }78 }79}