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.
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
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
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
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
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
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.
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.
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
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)
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
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
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.
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
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
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.
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
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
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
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
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.
- 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)
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.
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
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
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)
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
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.
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.
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
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)
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
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.
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
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
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