warfactoryracine/docs/03-implementation/configuration/module-configuration.md
StillHammer bbc811c151 Major documentation restructure and cleanup
- Restructure docs/ into hierarchical organization (00-overview → 04-reference)
- Eliminate duplicate global/ directory (-16 files)
- Integrate toCheck/ content into main structure
- Update CLAUDE.md with new documentation architecture
- Remove legacy engine references
- Consolidate 53 → 32 documentation files (-40% reduction)
- Add proper navigation README.md with clear entry points

New structure:
📁 00-overview/ - Vision & context
📁 01-architecture/ - Technical architecture
📁 02-systems/ - Game systems
📁 03-implementation/ - Testing & configuration
📁 04-reference/ - Technical reference

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-23 13:22:09 +08:00

58 lines
1.6 KiB
Markdown

# Configuration des Modules
## Configuration Système Modulaire
### Configuration Dependencies System
**Smart configuration avec recalculation automatique** :
```cpp
std::map<ConfigKey, std::vector<ComponentID>> dependencies = {
{"materials.steel_plating.weight", {tank_mk1, tank_mk2, heavy_tank}},
{"materials.steel_plating.cost", {economy_steel, factory_line_2}},
{"weapons.cannon_75mm.damage", {tank_mk1, artillery_piece}}
};
void onConfigChange(ConfigKey key, json newValue) {
auto affected = dependencies[key];
for(auto component : affected) {
DesignerModule::scheduleRecalc(component);
}
}
```
### Module Config Example
**Configuration adaptable par module** :
```cpp
bool useNewSystem = config.getBool("use_new_tank_system");
json process(json input) {
if(useNewSystem) {
return newTankModule->process(input);
} else {
return legacyTankSystem->process(input);
}
}
```
### Avantages Configuration Modulaire
**Développement :**
- **Config changes** : Restart required → Instant
- **A/B testing** : Impossible → Trivial
- **Debugging** : Needle in haystack → Surgical precision
**Maintenance :**
- **Module independence** : Tightly coupled → Zero dependencies
- **Testing** : Integration hell → Unit paradise
- **Deployment** : Monolith → Microservices-like
- **Scaling** : Rewrite → Configuration change
## Points Couverts
Cette configuration correspond aux patterns de configuration modulaire mentionnés dans les Points 251-290.
**Source :** `docs/toCheck/architecture-modulaire.md`
**Type :** Configuration système et dépendances