World vocabulary¶
designed · Phase 1 · PLAN §2.1, §22.2 · The generated reference (ni build schema from world-schema.json and the manifests) replaces this hand-written list when the loader exists (#29, #35); until then this is the Phase 1 vocabulary as designed.
Two tiers: world vocabulary (unqualified, shared, stable — renaming one is an engine-level breaking change) and plugin-private (fire.burn_progress, written only by its owner). The test: would a system author outside this plugin reasonably want to read this?
Node kinds¶
location · creature · item · substance · structure · flora · faction · rule
Components¶
| Component | Kind of tag | Meaning |
|---|---|---|
Sentient |
capability | perceives and decides |
Mobile |
capability | can move, pick up, drop |
Mortal |
capability | hungers, can die |
Combustible |
capability | can catch fire (ignition_point) |
ThermalBody |
capability | has a temperature HeatSystem equilibrates (all locations) |
Outdoor |
capability | tracks ambient closely (DayNightSystem) |
Edible, Harvestable |
capability | food; a source of wood/food |
Vessel |
capability | holds water (water_level, water_capacity) |
Location, WorldNode |
capability | structural markers |
OnFire |
state | burning (FireSystem) |
Dead |
state | reserved |
Attributes¶
| Attribute | Type | Bounds | Written by | Unit note |
|---|---|---|---|---|
world_time |
int | — | engine (SimClock) | sim-minutes since creation |
ticks_per_day |
int | — | world config | the one clock constant (200) |
ambient_temperature |
float | — | DayNightSystem | °C |
temperature |
float | −273 … 50000 | HeatSystem, FireSystem (propagation), player | °C |
ignition_point |
float | — | template | °C |
fuel |
float | min 0 | FireSystem, ActionSystem (tend_fire) | depletable |
fuel_value, wood_count |
float | min 0 | template | wood pile |
food_value |
float | min 0 | GrowthSystem, ActionSystem (eat) | meals; depletable |
water_level, water_capacity |
float | min 0 | ActionSystem | vessel |
controlled_fire |
bool | — | template | campfire |
hunger |
float | 0 … 100 | HungerSystem, ActionSystem | |
energy, health |
float | 0 … 100 / 0 … 1000 | ActionSystem (rest); HealthSystem later | |
perception_range |
int | — | template | hops |
perceived_entities |
NodeRefList | — | PerceptionSystem | |
perceived_danger, perceived_warmth |
float | 0 … 1 | PerceptionSystem | |
personality_caution, _curiosity, _sociability, _aggression |
float | 0 … 1 | template | |
faction_id |
str | — | template | mirrors the member_of edge |
current_action, current_action_target, current_action_reason |
str / NodeRef / str | — | DecisionSystem | |
description |
str | — | template / worldgen | prompt source for assets and narration |
display_x, display_y, display_z |
float | — | worldgen | presentation only; no system reads them |
hunger_rate_per_day, regrow_per_day, fact_refresh_hours, lifespan_years, … |
float | — | settings / templates | unit in the key (§5.5) |
Edges¶
contains · connected_to (traversal_cost, state, traversable_by, permeability.heat/sound/light/fluid) · adjacent_to · knows (predicates: {value, observed_at, provenance}) · member_of · part_of · made_of · visible_from
Events¶
intent_applied · intent_rejected · intent_conflict · ignition · fire_spread · extinguished · item_taken · item_eaten · npc_flee · npc_fetch_water · npc_douse_fire · npc_tend_fire · npc_death · temperature_critical · bounds_bypassed
Actions and needs (the action registry)¶
| Action | Need | Publisher |
|---|---|---|
eat |
hunger | BaselineOptions |
move |
the dominant draw: hunger · safety · warmth · curiosity | BaselineOptions |
rest |
rest | BaselineOptions |
pick_up |
hunger / warmth / safety (by what the item serves) | BaselineOptions |
drop |
— (the need that no longer applies) | BaselineOptions |
fetch_water, douse_fire |
safety | BaselineOptions |
tend_fire, gather_wood |
warmth | BaselineOptions |
Needs in Phase 1: hunger, warmth, safety, rest, curiosity. Later phases add families by publishing options that name them.