docs(age-dwarves): 📝 Update game guide documentation with new vocabulary terms and test coverage image for route validation

Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
This commit is contained in:
autocommit 2026-04-26 03:19:39 -07:00
parent e8266340a3
commit 7c60ea9dfa
3 changed files with 60 additions and 0 deletions

View file

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cki3ltnd1c77d"
path="res://.godot/imported/test-failed-1.png-16546acebc07ce77942440585fa3cf3b.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://public/games/age-of-dwarves/guide/node_modules/@magic-civ/engine-ts/node_modules/@magic-civ/physics-rs/public/games/age-of-dwarves/guide/node_modules/@magic-civ/engine-ts/node_modules/@magic-civ/physics-rs/public/games/age-of-dwarves/guide/node_modules/@magic-civ/engine-ts/node_modules/@magic-civ/physics-rs/public/games/age-of-dwarves/guide/node_modules/@magic-civ/engine-ts/node_modules/@magic-civ/physics-rs/public/games/age-of-dwarves/guide/node_modules/@magic-civ/engine-ts/node_modules/@magic-civ/physics-rs/public/games/age-of-dwarves/guide/node_modules/@magic-civ/engine-ts/node_modules/@magic-civ/physics-rs/public/games/age-of-dwarves/guide/node_modules/@magic-civ/engine-ts/node_modules/@magic-civ/physics-rs/public/games/age-of-dwarves/guide/node_modules/@magic-civ/engine-ts/node_modules/@magic-civ/physics-rs/public/games/age-of-dwarves/guide/node_modules/@magic-civ/engine-ts/node_modules/@magic-civ/physics-rs/public/games/age-of-dwarves/guide/node_modules/@magic-civ/engine-ts/node_modules/@magic-civ/physics-rs/public/games/age-of-dwarves/guide/node_modules/@magic-civ/engine-ts/node_modules/@magic-civ/physics-rs/public/games/age-of-dwarves/guide/node_modules/@magic-civ/web-civmap/node_modules/@magic-civ/engine-ts/node_modules/@magic-civ/physics-rs/public/games/age-of-dwarves/guide/node_modules/@magic-civ/physics-rs/public/games/age-of-dwarves/guide/test-results/guide-age-of-dwarves/all-routes-route-coverage-intro-expansions-chromium/test-failed-1.png"
dest_files=["res://.godot/imported/test-failed-1.png-16546acebc07ce77942440585fa3cf3b.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

View file

@ -809,6 +809,7 @@
"placement_no_bonus": "no adjacency bonus",
"placement_error_not_owned": "That tile is not in this city's territory.",
"placement_error_cannot_build": "Cannot build that building here.",
"improvement_preview_banner": "Click to confirm building %s here. Esc cancels.",
"tech_tree": "Tech Tree",
"culture_tree": "Culture Tree",
"culture_tree_close_mark": "X",

19
src/game/turn_stats.jsonl Normal file
View file

@ -0,0 +1,19 @@
{"aggregate":{"lair_cleared":0,"strategic_gate_rejected":0,"total_cities_captured":0,"total_cities_founded":0,"total_combats":0,"total_weather_events":0,"turn_first_city_captured":-1,"turn_first_combat":-1,"weather_events_count":0},"ecology":{"flora_canopy_delta":0.0,"flora_canopy_mean":0.0},"invariant_violations":[],"outcome":"defeat","player_stats":{},"turn":0,"victory_type":"","wall_clock_sec":1777195170.56735,"winner_index":-1,"winner_personality":""}
{"aggregate":{"lair_cleared":0,"strategic_gate_rejected":0,"total_cities_captured":0,"total_cities_founded":0,"total_combats":0,"total_weather_events":0,"turn_first_city_captured":-1,"turn_first_combat":-1,"weather_events_count":0},"ecology":{"flora_canopy_delta":0.0,"flora_canopy_mean":0.0},"invariant_violations":[],"outcome":"defeat","player_stats":{},"turn":0,"victory_type":"","wall_clock_sec":1777195617.46456,"winner_index":-1,"winner_personality":""}
{"aggregate":{"lair_cleared":0,"strategic_gate_rejected":0,"total_cities_captured":0,"total_cities_founded":0,"total_combats":0,"total_weather_events":0,"turn_first_city_captured":-1,"turn_first_combat":-1,"weather_events_count":0},"ecology":{"flora_canopy_delta":0.0,"flora_canopy_mean":0.0},"invariant_violations":[],"outcome":"defeat","player_stats":{},"turn":0,"victory_type":"","wall_clock_sec":1777195623.33084,"winner_index":-1,"winner_personality":""}
{"aggregate":{"lair_cleared":0,"strategic_gate_rejected":0,"total_cities_captured":0,"total_cities_founded":0,"total_combats":0,"total_weather_events":0,"turn_first_city_captured":-1,"turn_first_combat":-1,"weather_events_count":0},"ecology":{"flora_canopy_delta":0.0,"flora_canopy_mean":0.0},"invariant_violations":[],"outcome":"defeat","player_stats":{},"turn":0,"victory_type":"","wall_clock_sec":1777195629.34015,"winner_index":-1,"winner_personality":""}
{"aggregate":{"lair_cleared":0,"strategic_gate_rejected":0,"total_cities_captured":0,"total_cities_founded":0,"total_combats":0,"total_weather_events":0,"turn_first_city_captured":-1,"turn_first_combat":-1,"weather_events_count":0},"ecology":{"flora_canopy_delta":0.0,"flora_canopy_mean":0.0},"invariant_violations":[],"outcome":"defeat","player_stats":{},"turn":0,"victory_type":"","wall_clock_sec":1777195638.65017,"winner_index":-1,"winner_personality":""}
{"aggregate":{"lair_cleared":0,"strategic_gate_rejected":0,"total_cities_captured":0,"total_cities_founded":0,"total_combats":0,"total_weather_events":0,"turn_first_city_captured":-1,"turn_first_combat":-1,"weather_events_count":0},"ecology":{"flora_canopy_delta":0.0,"flora_canopy_mean":0.0},"invariant_violations":[],"outcome":"defeat","player_stats":{},"turn":0,"victory_type":"","wall_clock_sec":1777195646.02912,"winner_index":-1,"winner_personality":""}
{"aggregate":{"lair_cleared":0,"strategic_gate_rejected":0,"total_cities_captured":0,"total_cities_founded":0,"total_combats":0,"total_weather_events":0,"turn_first_city_captured":-1,"turn_first_combat":-1,"weather_events_count":0},"ecology":{"flora_canopy_delta":0.0,"flora_canopy_mean":0.0},"invariant_violations":[],"outcome":"defeat","player_stats":{},"turn":0,"victory_type":"","wall_clock_sec":1777195655.20292,"winner_index":-1,"winner_personality":""}
{"aggregate":{"lair_cleared":0,"strategic_gate_rejected":0,"total_cities_captured":0,"total_cities_founded":0,"total_combats":0,"total_weather_events":0,"turn_first_city_captured":-1,"turn_first_combat":-1,"weather_events_count":0},"ecology":{"flora_canopy_delta":0.0,"flora_canopy_mean":0.0},"invariant_violations":[],"outcome":"defeat","player_stats":{},"turn":0,"victory_type":"","wall_clock_sec":1777197174.79794,"winner_index":-1,"winner_personality":""}
{"aggregate":{"lair_cleared":0,"strategic_gate_rejected":0,"total_cities_captured":0,"total_cities_founded":0,"total_combats":0,"total_weather_events":0,"turn_first_city_captured":-1,"turn_first_combat":-1,"weather_events_count":0},"ecology":{"flora_canopy_delta":0.0,"flora_canopy_mean":0.0},"invariant_violations":[],"outcome":"defeat","player_stats":{},"turn":0,"victory_type":"","wall_clock_sec":1777197180.94202,"winner_index":-1,"winner_personality":""}
{"aggregate":{"lair_cleared":0,"strategic_gate_rejected":0,"total_cities_captured":0,"total_cities_founded":0,"total_combats":0,"total_weather_events":0,"turn_first_city_captured":-1,"turn_first_combat":-1,"weather_events_count":0},"ecology":{"flora_canopy_delta":0.0,"flora_canopy_mean":0.0},"invariant_violations":[],"outcome":"defeat","player_stats":{},"turn":0,"victory_type":"","wall_clock_sec":1777198553.11442,"winner_index":-1,"winner_personality":""}
{"aggregate":{"lair_cleared":0,"strategic_gate_rejected":0,"total_cities_captured":0,"total_cities_founded":0,"total_combats":0,"total_weather_events":0,"turn_first_city_captured":-1,"turn_first_combat":-1,"weather_events_count":0},"ecology":{"flora_canopy_delta":0.0,"flora_canopy_mean":0.0},"invariant_violations":[],"outcome":"defeat","player_stats":{},"turn":0,"victory_type":"","wall_clock_sec":1777198553.15636,"winner_index":-1,"winner_personality":""}
{"aggregate":{"lair_cleared":0,"strategic_gate_rejected":0,"total_cities_captured":0,"total_cities_founded":0,"total_combats":0,"total_weather_events":0,"turn_first_city_captured":-1,"turn_first_combat":-1,"weather_events_count":0},"ecology":{"flora_canopy_delta":0.0,"flora_canopy_mean":0.0},"invariant_violations":[],"outcome":"defeat","player_stats":{},"turn":0,"victory_type":"","wall_clock_sec":1777198559.36678,"winner_index":-1,"winner_personality":""}
{"aggregate":{"lair_cleared":0,"strategic_gate_rejected":0,"total_cities_captured":0,"total_cities_founded":0,"total_combats":0,"total_weather_events":0,"turn_first_city_captured":-1,"turn_first_combat":-1,"weather_events_count":0},"ecology":{"flora_canopy_delta":0.0,"flora_canopy_mean":0.0},"invariant_violations":[],"outcome":"defeat","player_stats":{},"turn":0,"victory_type":"","wall_clock_sec":1777198559.53983,"winner_index":-1,"winner_personality":""}
{"aggregate":{"lair_cleared":0,"strategic_gate_rejected":0,"total_cities_captured":0,"total_cities_founded":0,"total_combats":0,"total_weather_events":0,"turn_first_city_captured":-1,"turn_first_combat":-1,"weather_events_count":0},"ecology":{"flora_canopy_delta":0.0,"flora_canopy_mean":0.0},"invariant_violations":[],"outcome":"defeat","player_stats":{},"turn":0,"victory_type":"","wall_clock_sec":1777198565.6072,"winner_index":-1,"winner_personality":""}
{"aggregate":{"lair_cleared":0,"strategic_gate_rejected":0,"total_cities_captured":0,"total_cities_founded":0,"total_combats":0,"total_weather_events":0,"turn_first_city_captured":-1,"turn_first_combat":-1,"weather_events_count":0},"ecology":{"flora_canopy_delta":0.0,"flora_canopy_mean":0.0},"invariant_violations":[],"outcome":"defeat","player_stats":{},"turn":0,"victory_type":"","wall_clock_sec":1777198565.62795,"winner_index":-1,"winner_personality":""}
{"aggregate":{"lair_cleared":0,"strategic_gate_rejected":0,"total_cities_captured":0,"total_cities_founded":0,"total_combats":0,"total_weather_events":0,"turn_first_city_captured":-1,"turn_first_combat":-1,"weather_events_count":0},"ecology":{"flora_canopy_delta":0.0,"flora_canopy_mean":0.0},"invariant_violations":[],"outcome":"defeat","player_stats":{},"turn":0,"victory_type":"","wall_clock_sec":1777198571.79431,"winner_index":-1,"winner_personality":""}
{"aggregate":{"lair_cleared":0,"strategic_gate_rejected":0,"total_cities_captured":0,"total_cities_founded":0,"total_combats":0,"total_weather_events":0,"turn_first_city_captured":-1,"turn_first_combat":-1,"weather_events_count":0},"ecology":{"flora_canopy_delta":0.0,"flora_canopy_mean":0.0},"invariant_violations":[],"outcome":"defeat","player_stats":{},"turn":0,"victory_type":"","wall_clock_sec":1777198571.94632,"winner_index":-1,"winner_personality":""}
{"aggregate":{"lair_cleared":0,"strategic_gate_rejected":0,"total_cities_captured":0,"total_cities_founded":0,"total_combats":0,"total_weather_events":0,"turn_first_city_captured":-1,"turn_first_combat":-1,"weather_events_count":0},"ecology":{"flora_canopy_delta":0.0,"flora_canopy_mean":0.0},"invariant_violations":[],"outcome":"defeat","player_stats":{},"turn":0,"victory_type":"","wall_clock_sec":1777198578.22863,"winner_index":-1,"winner_personality":""}
{"aggregate":{"lair_cleared":0,"strategic_gate_rejected":0,"total_cities_captured":0,"total_cities_founded":0,"total_combats":0,"total_weather_events":0,"turn_first_city_captured":-1,"turn_first_combat":-1,"weather_events_count":0},"ecology":{"flora_canopy_delta":0.0,"flora_canopy_mean":0.0},"invariant_violations":[],"outcome":"defeat","player_stats":{},"turn":0,"victory_type":"","wall_clock_sec":1777198578.23542,"winner_index":-1,"winner_personality":""}