Station
System Architecture
v0.4 ← Home
Platform specification

The system
beneath the worlds.

Station is structured as seven interdependent layers. The bottom four — Gaia, Matrix, Genesis, and Agents — are the engine: world physics, rule substrate, event processing, and the agents that populate it. The top three — Soma, Scope, and the external modifiers — are the interface: how participant history, body, and context shape what the engine renders. Gaia and Matrix are per-world. Genesis, Agents, and Soma are per-player. Scope is the convergence of both.

Genesis · Agents · Soma — per player / per narrative
Matrix · Gaia — per world
00

External Modifiers

Modifier · External Plug-in

Five input categories sit above the Station platform proper — designed as open plug-in slots. Third-party and IP-specific implementations can be substituted without changing the architecture beneath. The authored world does not need to know how inputs are gathered, only what they deliver to Scope. Device is the primary input, always present. The others are additive, activated by IP design and participant context.

device Input
Device-as-Controller

The primary input type — always present regardless of what other external modifiers are active. Device physical touch and orientation as the baseline interaction surface. All other external modifiers are additive; device is the floor.

  • touch and tap as directed world input
  • device orientation as directional signal
  • primary input layer (always active; other modifiers are additive)
  • baseline affordance surface for all Station experiences
atoms Physical
Figurine–to–Feature / Environment

Physical objects — specifically Ology character figurines — as hardware-level inputs. Two sub-modes: figurine-to-figurine (f2f) for relational bonding between objects, and figurine-to-environment (f2e) as the digital bridge from assembled physical state into the world engine. Connector geometry encodes bond type before any digital translation occurs.

  • f2f: physical connector geometry as bond encoding
  • f2f: reactivity and valence constraints; molecule assembly logic
  • f2e: physical structure recognition and translation layer
  • f2e: world-state injection from assembled physical configuration
terrain Spatial
GPS / External Checkpoints

Real-world spatial data as a co-extensive input layer. Position, proximity, and surface data feed terrain state into Scope as spatial context. Includes GPS-derived positioning and authored external checkpoints — fixed real-world locations the IP designates as meaningful entry points into world state.

  • spatial position and proximity encoding
  • authored checkpoint registry (IP-specific)
  • terrain-state feed to Scope
  • environmental co-presence data
social Social
Community Progression / Relational State

A participant's relational position within the broader player community as a first-class world input. Not a downstream effect of participation — an upstream modifier of what world state you enter. Progress, proximity, and relational history with other participants shape the angle of approach to the canonical world before Scope renders it.

  • community progression tracking (relative to others)
  • relational state with named other participants
  • social graph position as world-entry modifier
  • networked co-presence signals
signal Signal
Physiological Input Stream

Biological rhythm, breath, and autonomic signal as a direct external input to Scope. The body's involuntary state is read as world-relevant information — presence is participation. Distinct from device input (directed and conscious) — signal is the body doing what it does regardless of intent.

  • physiological signal capture (breath, rhythm, autonomic)
  • involuntary state as world input (not directed, not conscious)
  • movement and gesture as world input
  • feeds into scope.input as subconscious register
01

Scope

Perceptual Interface per-player

Scope is the convergence point of the system. Physical inputs arrive from above; world state rises from below. It is both lens and query — it renders the world as it is legible to this participant at this moment, given their history, their body, their agent type, and the current world configuration; and it routes participant actions downward as queries into the engine.

Scene Modifier Variables

Between the external layer and scope.lens sit five modifiable variables — camera.external, share.features, device.orientation, device.input, physiological.input — all configurable per language and per world instance. They adjust the perceptual surface without changing the underlying world state.

scope.input Aggregation
Input Aggregation

Combines all input streams into a unified perceptual state before the render pass. Three registers operate simultaneously: conscious (device, atoms, soma body), subconscious (terrain, environmental co-presence), and unconscious (soma.thoughts preference weights, accumulated social relational state). Aggregation determines which world-state cut the participant receives.

  • conscious input: device, atoms, soma.body
  • subconscious input: terrain, camera, environmental data
  • unconscious input: soma.thoughts preference weights, social relational state
  • unified perceptual state as output to scope.lens
scope.lens Render
Perceptual Render / Character Arc

The visual and sensory translation of world state into participant experience through the lens of their character arc. Scope.lens does not render the world — it renders the world as legible to this participant at this moment. Camera selection is integrated here as a render parameter, not a separate UI choice.

  • character-arc-relative world rendering (what this participant can see)
  • agent-type perceptual affordance applied at render
  • history-modulated visibility (what has been earned / what is legible)
  • camera selection integrated as render parameter
  • input-modulated perception (what the body brings changes what is seen)
  • state-conditioned visibility (world phase affects what is present)
scope.unlock Access
Payment / Unlock Gate

The access layer governing which portions of world state are available to a given participant at a given moment. Two distinct axes: commercial permissions (payment, subscription) and narrative permissions (what the participant has earned through participation). A participant can have commercial access but not narrative access, and vice versa.

  • commercial permissions (payment, subscription tier)
  • narrative permissions (participation-earned access)
  • per-experience permission definition
  • unlock state fed to scope.lens as visibility constraint
scope.query Query
World State Interrogation

The mechanism by which participant action sends queries downward into the world engine. Scope routes queries to Soma and interprets returned state as perceptual consequence. The query is bidirectional — participant action changes world state, and world state change feeds back as updated perception.

  • action-to-world-query routing
  • state-response interpretation
  • bidirectional engine interface
02

Soma

Character Preferences & Persona per-player

Where the external modifier layer captures what the participant does, Soma holds what those actions have made them. Two components, both per-player and per-narrative. Soma.thoughts is the accumulated preference architecture — a living weight system that shifts based on what participants actually do. Soma.persona is the character arc as built through participation: who this participant has become within the world's terms.

soma.thoughts Preference
Preference Architecture

The accumulated record of participant choices across commercial, functional, and narrative axes. Not a profile — a living weight system that shifts over time based on what the participant actually does. Feeds into scope.input as an unconscious perceptual modifier and into genesis.delta as a behavioral influence on agent decisions. Weights decay toward centre over time to prevent lock-in.

  • narrative preference weight (engagement with story, objects, events)
  • functional preference weight (pattern repetition, optimisation)
  • commercial preference weight (purchasing, unlock behaviour)
  • social preference weight (relational choices, co-presence engagement)
  • weight decay toward centre over time (prevents lock-in)
  • feeds into scope.input as unconscious perceptual modifier
soma.persona Narrative
Character Arc

The participant's accumulated narrative identity within the world — who they have become through the choices they have made. Not a fixed role assigned at entry; built incrementally from interactions, decisions, and the named states the participant has moved through. Two participants in the same world develop different personas because they have different histories within it.

  • participant's accumulated narrative identity (built from interaction history)
  • distinct from agent type: persona is earned, agent type is assigned
  • feeds into scope.lens as character-arc filter on world rendering
  • shapes which matrix.lore thresholds are active for this participant
  • feeds into genesis.delta as arc-relative narrative threshold modifier
  • multiple participants develop distinct personas within the same world instance
03

Genesis

World Initialization & Mutation per-player / per-narrative

Genesis is per-player and per-narrative. Multiple participants can run concurrent Genesis instances against the same shared Matrix/Gaia substrate — the same world, different angles of entry. Genesis processes events in two passes: first physical (what materially happened), then narrative (whether that physical event crossed a significance threshold in matrix.lore). Below threshold, the world updates silently. Above threshold, a narrative event fires.

genesis.seed Init
World Instantiation

The logic governing how a world comes into existence for a specific participant. Seed conditions are drawn from Matrix rule substrate, Gaia material and elemental state, and the participant's existing soma.thoughts profile and social state. The same world seeds differently for different participants — not because the canonical world changes, but because the angle of entry is shaped by who is arriving.

  • world instantiation from matrix rules and gaia conditions
  • participant soma.thoughts and social state as seed modifiers
  • named state initialization for all agents in the participant's instance
  • initial perceptual affordance assignment per agent type
genesis.delta Mutation
Incremental State Mutation — Two Pass

The continuous processing of world-state changes driven by participant input. Pass one: physical consequences — what materially happened, validated against matrix.rules and gaia material physics. Pass two: narrative threshold evaluation — does this event cross a significance threshold in matrix.lore? The same event may be silent in one world phase and pivotal in another.

  • pass one: material consequence processing (physics, agent responses)
  • pass one: rule-validated state mutation against matrix.rules
  • pass two: narrative threshold evaluation against matrix.lore
  • pass two: phase-conditional threshold (same event, different weight by phase)
  • upward world-state propagation on both passes
  • narrative event emission when threshold crossed
genesis.evolution Evolution
Narrative Evolution / Long-Arc Mutation

The slow feedback loop from participant history back into Gaia conditions. Genesis.evolution reads accumulated delta logs and participant history patterns and nudges elemental and material conditions over time — creating world conditions that are partially authored by who has passed through them.

  • participant history pattern analysis
  • slow nudge of gaia elemental conditions
  • long-arc consequence architecture
  • influences downstream conditions in gaia.base and gaia.substrate
genesis.named_states State
Named State Changes

Authored named states assigned to any agent or world element at any narrative moment. Named states are specific — they identify precise physical configurations with authored labels. They form the first tier of a two-tier authoring system: a named state like "water_glass_broken_at_party" is a specific event that maps up into a matrix.lore category "social_convention_violated_at_dinner." The lore category carries the narrative consequence; the named state carries the specificity.

  • author-defined state vocabulary per world (specific physical configurations)
  • first tier of two-tier authoring: named state → lore category → narrative consequence
  • multiple named states can map to the same matrix.lore category
  • referenceable by matrix.lore for category mapping and matrix.rules for physical logic
  • state change events propagated upward to scope
04

Agents

World Population per-player (instance) / per-world (type)

Agents are everything that exists and acts within a Station world. The type system is open — authors define their own agent types per IP. Four fundamental types, one cross-cutting mode. Agents can have parent-child and other linked relationships. All types inherit a set of master affordances that keeps the system coherent.

Master Affordances — inherited by all agent types
  • unique identifier within world instance
  • perceptual affordance (what this agent can perceive)
  • position / spatial state
  • interaction vocabulary (what this agent can do and receive)
  • current container (which environment agent holds this agent)
  • state (current named state from genesis.named_states)
  • history (accumulated event log for this agent in this instance)
Material as interface

A participant inhabiting a glass of water receives refracted 360 perception and can act through fluid velocity. These are not limitations — they are the instrument being played. An object's material properties are simultaneously its perceptual affordance and its action vocabulary. The constraint is the design.

environment agent Environment
Spatial Meta-Agent

A sub-environmental area with its own contained logic. Not a passive backdrop — an active participant in rule evaluation. Each environment agent holds a child registry, has its own matrix.lore subset, and can have children that are themselves environment agents. The house is an environment agent. Each room is a child linked to it. Objects within a room are children of that room — some belonging to it, some visiting from elsewhere.

  • contained rule logic (matrix.lore subset scoped to this space)
  • child registry: current occupants (agents present within)
  • home registry: agents that belong here (may not be currently present)
  • parent-child linkage to other environment agents
  • own perceptual affordance (being inside this space gives a distinct world-state cut)
  • movable objects carry home_container ref + current_container ref
object agent Object
Material Reactive Agent

An agent with a body and material properties that can perceive and respond to interactions but cannot initiate change in itself. Material properties are not descriptive tags but functional constraints — they determine what physical events are possible. These properties are the source of perceptual affordance when inhabited and the vocabulary of reactive capacity when not.

  • material properties as functional constraints (not descriptive metadata)
  • reactive capacity: can respond to interactions within physical limits
  • no self-initiation: cannot generate events independently
  • home_container and current_container tracking (movable throughout world)
  • perceptual affordance when inhabited: derived from material properties
  • action vocabulary when inhabited: what material physics permits
character agent Character
Autonomous Behavioral Agent

An agent with a body, material properties, and a behavioral state machine. Character agents can initiate — they pursue goals, perceive selectively, and respond to world state in authored ways. Perceptual affordance operates at two levels: type-level (base configuration shared by all agents of this type) and instance-level (modulated by each individual agent's accumulated history). Character agents can be networked — shared across participant instances.

  • behavioral state machine (authored per character type)
  • type-level perceptual affordance (base configuration for this character type)
  • instance-level perceptual modulation (history shapes individual perception)
  • goal-directed initiation (can generate events autonomously)
  • networked: can be shared across participant instances
  • parent-child linkage to other agents (companion, follower, linked pair)
playable mode Playable
Participant Inhabitation

Not a fourth agent type but a mode overlaid on any of the three. When a participant inhabits an agent, initiation rights transfer to them — a human will drives the agent's actions. The agent's type does not change: its material properties, perceptual affordance, and action vocabulary remain exactly what they were. The object's constraint is not suspended — it becomes the design of what the participant can and cannot do.

  • overlayable on environment, object, or character agent
  • transfers initiation rights to participant
  • agent type and material properties unchanged by inhabitation
  • perceptual affordance of the agent type becomes participant's sensory surface
  • action vocabulary derived from material properties is participant's action space
  • object constraint is design: material limits are the affordance, not a restriction
  • multiple participants can inhabit different agents in a shared world instance
05

Matrix

World Simulation Substrate per-world

Matrix holds the rule system, significance layer, and persistent state memory for every world running on Station. It is not a world — it is the engine beneath all worlds. Matrix operates at world level: its rules and memory are shared across all participant instances running in the same world. Genesis runs on it; Gaia grounds it.

Two-tier authoring

The authoring system works in two tiers. genesis.named_states captures specific physical configurations — "water_glass_broken_at_party." matrix.lore groups them into broader narrative significance categories — "social_convention_violated_at_dinner" — and defines what those categories activate. The author defines the category once. Named states populate it. Multiple specific events can belong to the same narrative category.

matrix.lore Story
Enactive Potential

The authored mapping from physical event-space to narrative consequence-space. Matrix.lore does not determine what physically happens — Gaia and matrix.rules handle that. It determines which physical events carry narrative weight, under what conditions, and what that weight activates. Thresholds are phase-conditional: the same named state can be background noise in emergence and a pivot in dissolution. Each environment agent carries its own matrix.lore subset — the same physical event has different significance in different spaces.

  • second tier of two-tier authoring: lore categories group named states into narrative meaning
  • authored mapping: named state category → narrative consequence
  • phase-conditional thresholds (same named state, different weight by world phase)
  • space-scoped: each environment agent has its own lore subset
  • below threshold: world updates silently
  • above threshold: narrative event fires, scope responds, agents receive
matrix.rules Rules
Physics and Social Substrate

The governing rule substrate defining what is possible in any world instantiated through Genesis. Two distinct domains: physical rules (causal constraints, interaction logic, material compatibility) and social physics (governing rules for agent-to-agent social dynamics, how relational states propagate, how group behavior is constrained). Both are defined at the Matrix level and inherited by individual world instances.

  • physical rules: causal constraints, interaction logic, material law
  • social physics: structural rules governing agent-to-agent social dynamics
  • social physics: relational state propagation rules
  • social physics: group behavior constraints
  • world-agnostic rule substrate (inherited by all instances)
matrix.store Memory
Persistent State Memory

The persistent memory layer where world state, participant history, agent state logs, and delta logs are stored across sessions. What a participant does in a world leaves a material trace in the substrate. Matrix.store is the record that makes consequences real — the world does not reset, it remembers.

  • cross-session world state persistence
  • participant action delta log (full history)
  • agent state log (all named state changes)
  • narrative event archive
  • consequential trace architecture
06

Gaia

Elemental Ground Substrate per-world

Gaia is the deepest layer — the material, physical, and rhythmic foundation on which everything above it runs. It does not change rapidly; it defines the slow conditions of possibility. Per-world and shared across all participants and instances. Three sub-systems: material physics, ecological ground conditions, and the biological rhythm clock that grounds all temporal logic.

gaia.base Substrate
Material Physics

The material property system from which all physical possibility derives. Gaia.base encodes what things are made of — not descriptively, but functionally: what material properties determine what physical events are coherent. When a participant inhabits an object, gaia.base is what gives that object its perceptual affordance and action vocabulary. Matrix.lore's enactive potential layer sits on top of gaia.base's physical coherence layer — first the world determines what can happen, then the author determines which of those things mean something.

  • material property encoding (functional, not descriptive)
  • physical coherence layer: what is possible given material composition
  • perceptual affordance source for object and environment agents
  • action vocabulary source when agent is inhabited (playable mode)
  • matrix constraint seeding (physical laws derived from material properties)
  • genesis.delta pass one validation source
gaia.substrate Ecology
World Physical / Ecological Ground

The ecological and spatial ground conditions of the world. Where gaia.base defines what individual things are made of, gaia.substrate defines the conditions of the world they exist within: elemental availability, ecological state, spatial topology. These conditions change slowly and seed Matrix rules and Genesis initialization. Modified over time by genesis.evolution as participant history accumulates.

  • elemental availability encoding (what resources exist in this world)
  • ecological state definition (broader environmental conditions)
  • spatial topology of the world (ground truth of spatial structure)
  • feeds matrix.rules and genesis.seed
  • modified slowly by genesis.evolution over participant history
gaia.pulse Time
Biological Rhythm Clock

The slow temporal layer — circadian, seasonal, generational — that governs timing across the entire world system. Gaia.pulse is the heartbeat beneath all other clocks. World time in Station is not arbitrary; it is grounded in biological rhythm. The pulse affects which matrix.lore thresholds are active, which agent behavioral states are available, and what Scope renders as present.

  • circadian rhythm encoding (time-of-day temporal logic)
  • seasonal rhythm encoding (longer-arc temporal logic)
  • generational time substrate (world-age effects)
  • world-clock grounding for all time-dependent rules
  • pulse state fed to matrix.lore threshold evaluation
  • pulse state fed to scope.lens as temporal perceptual modifier