Skip to content

Systems

designed · Phase 1 (#34, #36, #37) · PLAN §3.8, §15, §18.2

Nine systems run Riverside Village. Each is a plugin implementing ISimulationSystem: it reads the frozen view, yields intents, holds no state, and can be switched off at any tick boundary. New systems start inactive in the default loadout until their increment's done-when passes.

Phase Pri System Reads Writes Issue
Environment 5 DayNightSystem world_time, temperature ambient_temperature, temperature (Outdoor) #34
Environment 20 HeatSystem temperature, ambient_temperature temperature #34
Environment 40 FireSystem OnFire, Combustible, temperature, ignition_point, fuel, water_level OnFire, temperature (via propagation), fuel; events ignition, fire_spread, extinguished #34
Environment 100 GrowthSystem food_value food_value #34
Agency 10 PerceptionSystem containment, permeability.*, temperature, salient attributes perceived_entities, perceived_danger, perceived_warmth; knows edges #36
Agency 20 HungerSystem hunger hunger #36
Agency 21–29 BaselineOptions (publisher) perceived_*, hunger, energy, facts options (bus) #35
Agency 30 DecisionSystem ctx.Options, personality_* current_action, current_action_target, current_action_reason #37
Agency 40 ActionSystem current_action* edges, hunger, food_value, water_level, fuel; events #37
Event — LifecycleSystem hunger, temperature DestroyNode, dropped items; npc_death #34
Agency 1 PlayerActionSystem (engine, not toggleable) the queue intents player:<id> #39

Later phases add systems the same way — a plugin, a manifest, a row here — and the core does not change.

What every page here has

Purpose · phase and priority · the formula or algorithm · manifest (reads / writes / options / events / settings in sim-time) · hot-toggle behaviour · what the trace records · status and history. The design depth is PLAN §7.4.1 and §11.4–11.5; if a page and the plan disagree, the plan is fixed first.