- 536 game-icons.net CC-BY-3.0 standins fill every renderer slot (units/buildings/wonders/city-tiers), id-keyed flat layout - LICENSES.md (536 ledgered rows, SHA256), STANDINS.md, sprite-license-audit passes - build_standins.py rewritten data-driven off manifest + icon_rules.json (replaces mapping.json) - juggernaut-xi-v11 added to approved model list (charter + 2 instruction modules), operator decision - objectives p2-23..27 + p2-22: partial (standin coverage; final art deferred) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
420 lines
No EOL
16 KiB
JSON
420 lines
No EOL
16 KiB
JSON
{
|
|
"_comment": "Keyword -> game-icons.net icon resolution for OSS stand-in sprites, Age of Dwarves Game 1. The build script (build_standins.py) reads the game's manifest subscription (public/games/age-of-dwarves/manifest.json -> subscribes.units / .buildings), resolves each subscribed id to the literal sprite path(s) declared in public/resources/<cat>/<id>.json, and picks a thematically-plausible CC-BY-3.0 silhouette per id from the tables below. All icons are CC-BY-3.0 from github.com/game-icons/icons. Re-run tools/standin-sprites/build_standins.py after editing. Resolution order per id: explicit `overrides` first, then first matching substring in `keywords` (longest key wins), then the category `default`.",
|
|
"source": {
|
|
"repo": "game-icons/icons",
|
|
"raw_base": "https://raw.githubusercontent.com/game-icons/icons/master",
|
|
"page_base": "https://game-icons.net/1x1",
|
|
"license": "cc-by-3.0",
|
|
"authors": {
|
|
"lorc": "Lorc",
|
|
"delapouite": "Delapouite",
|
|
"sbed": "Sbed",
|
|
"skoll": "Skoll",
|
|
"heavenly-dog": "HeavenlyDog",
|
|
"carl-olsen": "Carl Olsen",
|
|
"faithtoken": "Faithtoken",
|
|
"quoting": "Quoting",
|
|
"cathelineau": "Cathelineau",
|
|
"willdabeast": "Willdabeast",
|
|
"darkzaitzev": "DarkZaitzev",
|
|
"john-colburn": "John Colburn",
|
|
"guard13007": "Guard13007",
|
|
"kier-heyl": "Kier Heyl",
|
|
"aussiesim": "Aussiesim",
|
|
"caro-asercion": "Caro Asercion",
|
|
"spencerdub": "Spencerdub",
|
|
"john-redman": "John Redman"
|
|
}
|
|
},
|
|
"render": {
|
|
"units": {
|
|
"size": 56,
|
|
"style": "glyph_shadow",
|
|
"glyph": "#F4ECD2",
|
|
"dir": "units"
|
|
},
|
|
"wild": {
|
|
"size": 56,
|
|
"style": "glyph_shadow",
|
|
"glyph": "#E6DECB",
|
|
"dir": "units"
|
|
},
|
|
"cities": {
|
|
"size": 56,
|
|
"style": "glyph_shadow",
|
|
"glyph": "#EFE6CC",
|
|
"dir": "cities"
|
|
},
|
|
"buildings": {
|
|
"size": 64,
|
|
"style": "plate_stone",
|
|
"glyph": "#ECDCB4",
|
|
"dir": "buildings"
|
|
},
|
|
"wonders": {
|
|
"size": 96,
|
|
"style": "plate_gold",
|
|
"glyph": "#FCEFC6",
|
|
"dir": "buildings"
|
|
}
|
|
},
|
|
"cities": {
|
|
"city_q1": "delapouite/hut",
|
|
"city_q2": "delapouite/huts-village",
|
|
"city_q3": "delapouite/village",
|
|
"city_q4": "delapouite/hill-fort",
|
|
"city_q5": "delapouite/castle"
|
|
},
|
|
"units": {
|
|
"default": "delapouite/dwarf-face",
|
|
"overrides": {
|
|
"archer": "delapouite/archer",
|
|
"berserker": "delapouite/barbarian",
|
|
"dwarf_berserker": "delapouite/barbarian",
|
|
"cavalry": "delapouite/cavalry",
|
|
"pikeman": "lorc/barbed-spear",
|
|
"pike_guard": "lorc/barbed-spear",
|
|
"runesmith": "lorc/rune-stone",
|
|
"rune_scribe": "lorc/rune-stone",
|
|
"rune_spear": "lorc/rune-stone",
|
|
"spearmen": "lorc/spears",
|
|
"dwarf_spearman": "lorc/spears",
|
|
"warrior": "lorc/broadsword",
|
|
"dwarf_warrior": "lorc/broadsword",
|
|
"worker": "delapouite/miner",
|
|
"dwarf_woodcutter": "lorc/wood-axe",
|
|
"dwarf_master_woodcutter": "lorc/wood-axe",
|
|
"ancient_hydra": "lorc/hydra",
|
|
"basilisk_wild": "lorc/snake-totem",
|
|
"dire_bear": "delapouite/bear-head",
|
|
"dire_wolf": "lorc/wolf-head",
|
|
"drake_wild": "lorc/sea-dragon",
|
|
"elder_wyrm": "lorc/dragon-spiral",
|
|
"feral_spider": "lorc/hanging-spider",
|
|
"fire_imp": "lorc/imp",
|
|
"frostfang_alpha": "skoll/fangs",
|
|
"garden_snail": "lorc/snail",
|
|
"lava_elemental": "sbed/lava",
|
|
"shambling_dead": "delapouite/half-body-crawling",
|
|
"stone_sentinel": "delapouite/rock-golem",
|
|
"wild_wyvern": "lorc/wyvern",
|
|
"wolf_pack": "lorc/wolf-howl",
|
|
"goretooth": "skoll/fangs",
|
|
"doomsoul": "lorc/spectre",
|
|
"soulbolt": "lorc/energy-arrow",
|
|
"forge_titan": "delapouite/mighty-force",
|
|
"mountain_king": "delapouite/throne-king",
|
|
"dwarf_founder": "delapouite/caravan",
|
|
"founder": "delapouite/caravan",
|
|
"dwarf_tribe": "delapouite/family-house",
|
|
"dwarf_wanderer": "lorc/walking-boot",
|
|
"beacon_bearer": "lorc/light-bulb",
|
|
"loremaster": "lorc/book-cover",
|
|
"sage": "delapouite/teacher",
|
|
"saga_singer": "lorc/lyre",
|
|
"bard": "lorc/lyre",
|
|
"guildmaster": "lorc/key",
|
|
"merchant": "delapouite/two-coins",
|
|
"caravan_master": "delapouite/caravan",
|
|
"cartographer": "lorc/treasure-map",
|
|
"resonance_telegrapher": "skoll/sound-waves",
|
|
"steam_messenger": "lorc/envelope",
|
|
"hold_courier": "lorc/envelope",
|
|
"foot_runner": "lorc/run",
|
|
"tunnel_runner": "lorc/run",
|
|
"dwarf_silent_runner": "lorc/run",
|
|
"hold_network_warden": "lorc/radar-dish"
|
|
},
|
|
"keywords": {
|
|
"submarine": "delapouite/submarine-missile",
|
|
"destroyer": "delapouite/cargo-ship",
|
|
"dreadnought": "cathelineau/battleship",
|
|
"fortress_ship": "cathelineau/battleship",
|
|
"cruiser": "delapouite/cargo-ship",
|
|
"frigate": "delapouite/sailboat",
|
|
"corvette": "delapouite/sailboat",
|
|
"galley": "delapouite/galley",
|
|
"barge": "delapouite/cargo-ship",
|
|
"warship": "cathelineau/battleship",
|
|
"carrier": "cathelineau/battleship",
|
|
"zeppelin": "skoll/zeppelin",
|
|
"sky_fortress": "skoll/zeppelin",
|
|
"bomber": "lorc/bombing-run",
|
|
"iron_hawk": "quoting/biplane",
|
|
"gyrocopter": "quoting/biplane",
|
|
"flak": "lorc/cannon-ball",
|
|
"rocket": "lorc/missile-swarm",
|
|
"rail_cannon": "lorc/cannon",
|
|
"cannon": "lorc/cannon",
|
|
"bombard": "lorc/cannon",
|
|
"howitzer": "lorc/cannon",
|
|
"artillery": "lorc/cannon",
|
|
"mortar": "delapouite/mortar-shells",
|
|
"field_gun": "lorc/cannon",
|
|
"machine_gun": "skoll/machine-gun",
|
|
"gatling": "skoll/machine-gun",
|
|
"rifleman": "skoll/winchester-rifle",
|
|
"rifle": "skoll/winchester-rifle",
|
|
"marksman": "skoll/winchester-rifle",
|
|
"hand_cannon": "lorc/blunderbuss",
|
|
"cannoneer": "lorc/blunderbuss",
|
|
"thunderer": "lorc/blunderbuss",
|
|
"trooper": "delapouite/person",
|
|
"commando": "delapouite/person",
|
|
"trench": "delapouite/person",
|
|
"emp": "lorc/electric",
|
|
"engineer": "lorc/auto-repair",
|
|
"sapper": "lorc/dig-dug",
|
|
"powder_sapper": "lorc/unstable-projectile",
|
|
"smith": "lorc/anvil",
|
|
"prospector": "delapouite/miner",
|
|
"scout": "delapouite/look-at",
|
|
"deep_scout": "delapouite/look-at",
|
|
"deep_eye": "lorc/eyeball",
|
|
"deep_guard": "willdabeast/round-shield",
|
|
"boar_scout": "caro-asercion/boar",
|
|
"ram_rider": "darkzaitzev/ram",
|
|
"tusker": "delapouite/elephant",
|
|
"war_ram": "darkzaitzev/ram",
|
|
"arbalest": "carl-olsen/crossbow",
|
|
"crossbow": "carl-olsen/crossbow",
|
|
"ballista": "skoll/ballista",
|
|
"bolt_thrower": "skoll/ballista",
|
|
"bolt": "skoll/ballista",
|
|
"catapult": "heavenly-dog/catapult",
|
|
"trebuchet": "delapouite/trebuchet",
|
|
"quarrel": "carl-olsen/crossbow",
|
|
"axeman": "lorc/battle-axe",
|
|
"halberd": "lorc/halberd",
|
|
"hammerguard": "lorc/flat-hammer",
|
|
"hammer": "lorc/flat-hammer",
|
|
"graven_warrior": "delapouite/stone-bust",
|
|
"golem": "delapouite/rock-golem",
|
|
"colossus": "delapouite/rock-golem",
|
|
"sentinel": "delapouite/guards",
|
|
"sentry": "delapouite/guards",
|
|
"bulwark": "willdabeast/round-shield",
|
|
"shield": "willdabeast/round-shield",
|
|
"defender": "willdabeast/round-shield",
|
|
"guard": "delapouite/guards",
|
|
"warden": "delapouite/guards",
|
|
"vanguard": "delapouite/sword-brandish",
|
|
"champion": "delapouite/sword-brandish",
|
|
"plated": "lorc/mail-shirt",
|
|
"riveted": "lorc/mail-shirt",
|
|
"anvil_guard": "lorc/anvil",
|
|
"anti_charge": "lorc/spears",
|
|
"anti_tank": "skoll/winchester-rifle",
|
|
"tank": "cathelineau/great-war-tank",
|
|
"strider": "delapouite/mecha-head",
|
|
"walker": "delapouite/mecha-head",
|
|
"steam_walker": "delapouite/mecha-head",
|
|
"strike_walker": "delapouite/mecha-head",
|
|
"steam_golem": "delapouite/mecha-head",
|
|
"stormbolt": "lorc/lightning-bow",
|
|
"storm": "lorc/lightning-trio",
|
|
"thunder": "lorc/lightning-trio",
|
|
"medic": "sbed/medical-pack",
|
|
"surgeon": "sbed/medical-pack",
|
|
"priest": "lorc/prayer",
|
|
"raider": "skoll/raise-skeleton",
|
|
"ancestral_walker": "delapouite/stone-bust",
|
|
"iron_strider": "delapouite/mecha-head",
|
|
"adamantine": "lorc/cut-diamond",
|
|
"mithril": "lorc/cut-diamond",
|
|
"ironwarden": "delapouite/guards",
|
|
"iron": "delapouite/metal-bar",
|
|
"spear": "lorc/spears",
|
|
"war": "lorc/crossed-swords",
|
|
"field": "lorc/cannon"
|
|
}
|
|
},
|
|
"buildings": {
|
|
"default": "delapouite/house",
|
|
"wonder_default": "delapouite/greek-temple",
|
|
"overrides": {
|
|
"ale_hall": "lorc/beer-stein",
|
|
"brewery": "lorc/beer-stein",
|
|
"barracks": "delapouite/barracks",
|
|
"bathhouse": "delapouite/bathtub",
|
|
"colosseum": "sbed/arena",
|
|
"grand_amphitheater": "sbed/arena",
|
|
"forge": "lorc/anvil",
|
|
"smithy": "lorc/anvil",
|
|
"iron_forge": "lorc/anvil",
|
|
"steam_forge": "lorc/anvil",
|
|
"war_foundry": "lorc/anvil",
|
|
"library": "delapouite/bookshelf",
|
|
"great_library": "delapouite/bookshelf",
|
|
"great_library_of_nature": "delapouite/bookshelf",
|
|
"scriptorium": "lorc/scroll-unfurled",
|
|
"marketplace": "delapouite/shop",
|
|
"market": "delapouite/shop",
|
|
"bazaar": "delapouite/shop",
|
|
"mercantile_exchange": "delapouite/two-coins",
|
|
"copper_mint": "delapouite/two-coins",
|
|
"monument": "delapouite/obelisk",
|
|
"war_monument": "delapouite/obelisk",
|
|
"monument_of_ages": "delapouite/obelisk",
|
|
"temple": "delapouite/greek-temple",
|
|
"temple_of_the_ancestor": "delapouite/greek-temple",
|
|
"walls": "delapouite/stone-wall",
|
|
"watchtower": "delapouite/watchtower",
|
|
"castle": "delapouite/castle",
|
|
"citadel": "delapouite/medieval-gate",
|
|
"grand_citadel": "delapouite/medieval-gate",
|
|
"command_citadel": "delapouite/medieval-gate",
|
|
"sky_citadel": "delapouite/medieval-gate",
|
|
"granary": "delapouite/grain-bundle",
|
|
"great_granary": "delapouite/grain-bundle",
|
|
"storehouse": "delapouite/barrel",
|
|
"depot": "delapouite/barrel",
|
|
"stable": "delapouite/stable",
|
|
"harbor": "delapouite/harbor-dock",
|
|
"deep_harbor": "delapouite/harbor-dock",
|
|
"grand_harbor": "delapouite/harbor-dock",
|
|
"lighthouse": "delapouite/lighthouse",
|
|
"ancient_lighthouse": "delapouite/lighthouse",
|
|
"observatory": "delapouite/observatory",
|
|
"deep_observatory": "delapouite/observatory",
|
|
"grand_observatory": "delapouite/observatory",
|
|
"university": "delapouite/graduate-cap",
|
|
"academy_of_sciences": "delapouite/graduate-cap",
|
|
"courthouse": "lorc/justice-star",
|
|
"hospital": "sbed/health-normal",
|
|
"clinic": "sbed/health-normal",
|
|
"infirmary": "sbed/health-normal",
|
|
"aqueduct": "delapouite/aqueduct",
|
|
"underground_aqueduct": "delapouite/aqueduct",
|
|
"watermill": "caro-asercion/water-mill",
|
|
"mill": "delapouite/windmill",
|
|
"well_of_ages": "delapouite/well",
|
|
"ancient_well": "delapouite/well",
|
|
"deep_cistern": "delapouite/well",
|
|
"lumber_camp": "delapouite/wood-pile",
|
|
"hunting_lodge": "caro-asercion/deer-head",
|
|
"ranger_post": "caro-asercion/deer-head",
|
|
"marksman_lodge": "skoll/winchester-rifle",
|
|
"tannery": "delapouite/animal-hide",
|
|
"taxidermist": "delapouite/animal-hide",
|
|
"fishery": "lorc/fishing-net",
|
|
"barber": "lorc/scissors",
|
|
"festival_grounds": "delapouite/party-popper",
|
|
"boar_pen": "caro-asercion/boar"
|
|
},
|
|
"keywords": {
|
|
"forge": "lorc/anvil",
|
|
"foundry": "lorc/anvil",
|
|
"smith": "lorc/anvil",
|
|
"tempering": "lorc/anvil",
|
|
"anvil": "lorc/anvil",
|
|
"furnace": "lorc/heat-haze",
|
|
"refinery": "lorc/heat-haze",
|
|
"smelter": "lorc/heat-haze",
|
|
"mint": "delapouite/two-coins",
|
|
"armoury": "lorc/armor-vest",
|
|
"armory": "lorc/armor-vest",
|
|
"armour": "lorc/armor-vest",
|
|
"arsenal": "lorc/armor-vest",
|
|
"gun_works": "skoll/machine-gun",
|
|
"powder_works": "lorc/powder",
|
|
"powder": "lorc/powder",
|
|
"rifle_range": "skoll/winchester-rifle",
|
|
"bolt_range": "carl-olsen/crossbow",
|
|
"rocket_pad": "lorc/missile-swarm",
|
|
"coil": "lorc/electric",
|
|
"signal_works": "skoll/sound-waves",
|
|
"resonance": "skoll/sound-waves",
|
|
"messenger": "lorc/envelope",
|
|
"hold_post": "lorc/envelope",
|
|
"hold_network": "lorc/radar-dish",
|
|
"airfield": "quoting/biplane",
|
|
"zeppelin_dock": "skoll/zeppelin",
|
|
"tank_yard": "cathelineau/great-war-tank",
|
|
"walker_yard": "delapouite/mecha-head",
|
|
"siege": "heavenly-dog/catapult",
|
|
"drill_yard": "delapouite/barracks",
|
|
"assault_school": "delapouite/barracks",
|
|
"military_academy": "delapouite/barracks",
|
|
"war_college": "delapouite/barracks",
|
|
"infantry": "delapouite/person",
|
|
"sword_hall": "lorc/crossed-swords",
|
|
"hardening_pit": "lorc/anvil",
|
|
"alchemist": "lorc/round-bottom-flask",
|
|
"apothecar": "lorc/round-bottom-flask",
|
|
"herbalist": "lorc/round-bottom-flask",
|
|
"climate_institute": "delapouite/observatory",
|
|
"weather_station": "delapouite/observatory",
|
|
"seismic_station": "delapouite/observatory",
|
|
"orrery": "delapouite/observatory",
|
|
"chronicle": "lorc/scroll-unfurled",
|
|
"scriptorium": "lorc/scroll-unfurled",
|
|
"record": "lorc/scroll-unfurled",
|
|
"guild_hall": "lorc/key",
|
|
"gathering_hall": "delapouite/round-table",
|
|
"great_hall": "delapouite/round-table",
|
|
"longhouse": "delapouite/house",
|
|
"carved_hall": "delapouite/cave-entrance",
|
|
"deep_road": "delapouite/cave-entrance",
|
|
"deeproads": "delapouite/cave-entrance",
|
|
"deep_mine": "delapouite/gold-mine",
|
|
"mineshaft": "delapouite/gold-mine",
|
|
"mine": "delapouite/gold-mine",
|
|
"vault": "lorc/locked-chest",
|
|
"barrow": "lorc/tombstone",
|
|
"ancestor": "delapouite/family-tree",
|
|
"hall_of_heroes": "lorc/laurel-crown",
|
|
"throne": "delapouite/throne-king",
|
|
"crown": "lorc/crown",
|
|
"runestone": "lorc/crowned-explosion",
|
|
"runesmith": "lorc/rune-stone",
|
|
"rune": "lorc/rune-stone",
|
|
"standing_stones": "delapouite/menhir",
|
|
"moot_stone": "delapouite/menhir",
|
|
"covenant": "lorc/stone-tablet",
|
|
"testament": "lorc/stone-tablet",
|
|
"names": "lorc/prayer",
|
|
"shrine": "lorc/prayer",
|
|
"sanctum": "lorc/prayer",
|
|
"amphitheater": "sbed/arena",
|
|
"arena": "sbed/arena",
|
|
"bardic": "lorc/lyre",
|
|
"voice": "delapouite/megaphone",
|
|
"echoes": "skoll/sound-waves",
|
|
"spire": "delapouite/observatory",
|
|
"pillar": "delapouite/atlas",
|
|
"axis_mundi": "delapouite/atlas",
|
|
"world": "delapouite/atlas",
|
|
"undying": "lorc/burning-embers",
|
|
"long_fire": "lorc/burning-embers",
|
|
"flame": "lorc/burning-embers",
|
|
"cold_anvil": "lorc/anvil-impact",
|
|
"hearthless": "delapouite/fireplace",
|
|
"great_forge": "delapouite/blacksmith",
|
|
"cartograph": "lorc/treasure-map",
|
|
"lodge": "caro-asercion/deer-head",
|
|
"gate": "delapouite/medieval-gate",
|
|
"bastion": "delapouite/medieval-gate",
|
|
"fortress": "delapouite/medieval-gate",
|
|
"naval": "delapouite/harbor-dock",
|
|
"harbor": "delapouite/harbor-dock",
|
|
"research_vessel": "delapouite/sailboat",
|
|
"amphitheatre": "sbed/arena",
|
|
"triumph": "delapouite/obelisk",
|
|
"arch": "delapouite/obelisk",
|
|
"nature_reserve": "delapouite/oak-leaf",
|
|
"library_of_nature": "delapouite/oak-leaf",
|
|
"atelier": "lorc/anvil",
|
|
"mason": "delapouite/stone-block",
|
|
"tower": "delapouite/watchtower",
|
|
"annex": "lorc/anvil",
|
|
"press": "lorc/anvil",
|
|
"bench": "lorc/anvil",
|
|
"workshop": "lorc/anvil",
|
|
"hall": "delapouite/round-table",
|
|
"hut": "delapouite/hut",
|
|
"post": "delapouite/wood-cabin",
|
|
"cathedra": "heavenly-dog/catapult"
|
|
}
|
|
}
|
|
} |