split data in separate files

This commit is contained in:
2025-12-30 15:35:04 +01:00
parent d9782d7fee
commit 81f7f4065d
253 changed files with 98797 additions and 0 deletions

13
docs/schemas/_index.md Normal file
View File

@@ -0,0 +1,13 @@
# Schemas
Entity type definitions that describe the structure of all game elements.
## Available Schemas
- [Building](./building.md) - Production, service, and infrastructure buildings
- [Good](./good.md) - Tradeable and consumable items
- [PopulationTier](./population-tier.md) - Citizen classes and their needs
- [ProductionChain](./production-chain.md) - Manufacturing sequences
- [Specialist](./specialist.md) - Characters that modify building stats
- [ShipHull](./ship-hull.md) - Ship base types
- [ShipModule](./ship-module.md) - Ship equipment and upgrades

32
docs/schemas/building.md Normal file
View File

@@ -0,0 +1,32 @@
# Schema: Building
**Entity Type:** `Building`
## Fields
| Field | Type | Notes |
|------|------|------|
| id | string | stable anchor id |
| name | string | display name |
| category | string | Production / Service / Safety / Monument / etc. |
| description | string | 1-2 lines max |
| region | string | Latium / Albion (if region-specific) |
| requiredPopulationTier | string | link to tier |
| buildCost | object | `{ gold?, goods[] }` |
| constructionTime | string | usually instant per research |
| maintenance | object | `{ goldPerMin?, workforce[] }` |
| workforce | array | `[{ tier, count }]` |
| dimensions | string | base size, size with roads |
| placementConstraints | array | coast/marsh/forest/fields/etc |
| roadRequired | boolean | |
| warehouseRequired | boolean | implies "in range of Warehouse/Trading Post" |
| aqueductSupport | boolean | can be improved with aqueduct connection |
| inputGoods | array | links to goods |
| outputGoods | array | links to goods |
| cycleTimeSeconds | number | production cycle time |
| areaEffects | array | `{ type, value, target, radius? }` |
| productionChain | array | links to chain(s) |
| unlockCondition | string | tier, research, count, etc |
| specialists | array | compatible specialists with their effects |
| usagePatterns | string | short |
| commonPitfalls | string | short |

18
docs/schemas/good.md Normal file
View File

@@ -0,0 +1,18 @@
# Schema: Good
**Entity Type:** `Good`
## Fields
| Field | Type | Notes |
|------|------|------|
| id | string | stable anchor id |
| name | string | |
| category | string | Food / Construction / Intermediate / etc |
| usedFor | array | Construction, Consumption, Input, Trade |
| providesAttributes | array | `{ attribute, value, consumer? }` |
| buyPrice | number | purchase price in Dinare |
| sellPrice | number | sale price in Dinare |
| producedBy | array | building links |
| consumedBy | array | building/tier links |
| availableFrom | string | tier when good becomes available |

View File

@@ -0,0 +1,15 @@
# Schema: PopulationTier
**Entity Type:** `PopulationTier`
## Fields
| Field | Type | Notes |
|------|------|------|
| id | string | stable anchor id |
| name | string | tier name (e.g., Liberti, Plebeians) |
| region | string | Latium / Albion |
| workforceFraction | number | percentage of population providing labor (0.0-1.0) |
| needsCategories | array | Food, Public Service, Fashion, etc. |
| notes | string | general guidance |
| commonPitfalls | string | common mistakes |

View File

@@ -0,0 +1,14 @@
# Schema: ProductionChain
**Entity Type:** `ProductionChain`
## Fields
| Field | Type | Notes |
|------|------|------|
| id | string | stable anchor id |
| name | string | chain name |
| steps | array | `{ building, in[], out[], cycleSeconds }` |
| recommendedRatios | array | `{ building, count }` |
| bottlenecks | array | goods/buildings that commonly limit throughput |
| notes | string | general guidance |

13
docs/schemas/ship-hull.md Normal file
View File

@@ -0,0 +1,13 @@
# Schema: ShipHull
**Entity Type:** `ShipHull`
## Fields
| Field | Type | Notes |
|------|------|------|
| id | string | stable anchor id |
| name | string | hull name |
| sizeClass | string | Small / Medium / Large |
| moduleSlots | number | number of module slots available |
| notes | string | characteristics and tradeoffs |

View File

@@ -0,0 +1,13 @@
# Schema: ShipModule
**Entity Type:** `ShipModule`
## Fields
| Field | Type | Notes |
|------|------|------|
| id | string | stable anchor id |
| name | string | module name |
| effect | string | what the module does |
| tradeoffs | string | costs or downsides |
| notes | string | additional information |

View File

@@ -0,0 +1,19 @@
# Schema: Specialist
**Entity Type:** `Specialist`
## Fields
| Field | Type | Notes |
|------|------|------|
| id | string | stable anchor id |
| name | string | specialist name |
| rarity | string | Common / Rare / Epic / Legendary |
| category | string | Finance / Production / etc. |
| slotType | string | type of slot required |
| scope | string | what buildings/areas are affected |
| effects | array | `{ type, target, value, scope }` |
| improvesBuildings | array | building links |
| stackRules | string | how effects stack with others |
| usagePatterns | string | best practices |
| commonPitfalls | string | common mistakes |