feat(mc-turn): Add multi-slot turn-based simulation support with slot management and state transitions

Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
This commit is contained in:
autocommit 2026-05-17 23:59:31 -07:00
parent 87399fdd79
commit efdcd23e39

View file

@ -715,6 +715,15 @@ pub struct PlayerState {
/// keep their current behaviour without any changes.
#[serde(default)]
pub building_priors: mc_ai::tactical::state::BuildingPriors,
/// Stage 3 (mod system) — controller registry id used by
/// `mc_player_api::dispatch::drive_ai_slot` to look up which
/// `AiController` impl decides this slot's turn. Defaults to
/// `"scripted:default"` (the in-box MCTS+heuristic). Mod-supplied
/// controllers register their own id (`"learned:duel-v1b"`,
/// `"community:foo"`, ...) and the game-setup UI picks per slot.
/// Empty = fall-through to default at dispatch time.
#[serde(default)]
pub controller_id: String,
/// Accumulated expansion capacity (earned from the `expansion` axis).
pub expansion_points: u32,
/// Per-city list of constructed building IDs. Aligned with `cities`.