Skip to main content

Crate civ_engine

Crate civ_engine 

Source
Expand description

CivLab Deterministic Simulation Engine

Uses fixed-point arithmetic for deterministic simulation results. Uses i64 with scaling for deterministic calculations.

§Modules

  • engine - Full ECS-based simulation with tick loop
  • step - Simple step function for basic simulation
  • policy - Policy/consumption calculations
  • metrics - Tyranny/legitimacy metrics
  • io - File I/O utilities

Re-exports§

pub use engine::Simulation;
pub use engine::SimulationSnapshot;
pub use engine::WorldState;
pub use engine::Position;
pub use engine::Citizen;
pub use engine::JobType;
pub use engine::Building;
pub use engine::BuildingType;
pub use engine::Resources;
pub use engine::Production;
pub use engine::ResourceType;
pub use engine::MilitaryUnit;
pub use engine::UnitType;
pub use policy::effective_consumption;
pub use policy::PolicyInput;
pub use metrics::compute;
pub use metrics::Metrics;

Modules§

engine
CivLab Simulation Engine - Core Tick Loop with ECS
io
I/O utilities for simulation state persistence
metrics
Metrics module - simulation metrics calculation
policy
Policy module - consumption calculations based on policy settings

Structs§

Fixed
Fixed-point type: i64 with 18 decimal places of precision Stored as raw i64, divided by 10^18 for actual value This ensures deterministic simulation across platforms

Constants§

SCALE

Functions§

create_rng
Create a seeded RNG from world state
step
Advance simulation by one tick (simple API)

Type Aliases§

SimRng
Seeded RNG for deterministic simulation