Sources:
AGENTS.md
ai/project-map.yml
src/AGENTS.md
data/AGENTS.md
tests/AGENTS.md
android/AGENTS.md
commit 3053bf160578
docs-explanation
Subsystem map¶
This map helps locate entry points; it does not replace source inspection. Continue with the nearest AGENTS.md before editing a target path.
| Subsystem | Primary paths | Common adjacent contracts |
|---|---|---|
| Character / Avatar | src/character*, src/avatar* |
effects, activities, mutation, save |
| Items / Inventory / Pockets | src/item*, src/inventory*, src/item_pocket* |
JSON item types, crafting, vehicles |
| Creatures / Monsters | src/creature*, src/monster* |
monster JSON, effects, map |
| Map / Mapgen | src/map*, src/mapgen* |
terrain/furniture, overmap, save |
| Overmap | src/overmap* |
overmap terrain/special, mapgen |
| Vehicles | src/vehicle* |
vehicle-part JSON, map, activities |
| Crafting | src/crafting*, src/recipe* |
item IDs, requirements, inventory |
| Mutation / Effects | src/mutation*, src/effect* |
JSON factories, Character, EOC |
| Activities | src/activity*, src/player_activity* |
actors, Character, serialization |
| UI / Input | src/*ui*, src/input* |
SDL/curses, translation, platform |
| Save | src/savegame*, src/save_snapshot* |
every serialized owner, migration |
| Mod loading | src/mod_manager*, data/mods/ |
dependencies, JSON load order |
| Lua bridge | src/lua_platform*, data/lua/ |
ModDefinition, LuaLS, registrations |
| Localization | lang/, src/translations* |
extraction, PO/MO, UI |
| Android | android/ |
Gradle, JNI/native build, SDL3 |
Tests are organised around behaviour rather than mirroring every source directory. Search for the type, registration name, or stable ID, then find the same symbol and user-visible behaviour under tests/. Cross-subsystem changes must state object ownership, lifecycle, serialization, and performance hot paths.