Composes the dialog 2026-04-27 ~21:30-22:00 CEST into canon. Nine
compositional moves consolidated onto one substrate without introducing
new primitives — every claim is a composition of existing canon (cells,
zones, slots, verifier-flags, hardstops, lifeforce budgets, the trait-
palette, the consent-spine, the cosmology's composed wheel).
NEW PAPER: runtime-engine/event-zones.md (~400 lines, v0.1)
Sections:
1. Designer-authored event-zones vs emergent zones (orthogonal; clean
signals; no overlap routing)
2. Cells + event-zones + events as layered data-model with composite
UID districtid_cellid_eventid; participants on events not cells
3. The composed wheel from imperial-cult/cosmology.md as universal
mini-game-surface; verifier-flag patterns differentiate hacking /
lockpicking / install / clasp / decryption / ritual / drug-grammar /
eye-pulse-proximity; collapses the long-standing "which mini-game
mechanic for liminal-maintenance" open question
4. Hardstops as consent-gates between event-states with contextual
activation; ~8-16 budget is per-moment-active, not overall
5. The four hardstop-pattern variants of consent-discipline.md as the
event-class taxonomy (self/dual/triple/cooldown-augmented = solo/
dual/triple/temporally-staged event-class)
6. Boundary-zone-with-inner-zone for plaza-scale mass-presence; sparingly
applied; caste-tier-gated promotion as default
7. Room-boundary cell-layer + rail-passage + lifeforce-budget-per-room
(district-shard, four-tier hierarchy intact); insolvency-spiral
gets its mechanical surface
8. Slot-binding suspends lemniscate routing during events (the NPC-
stays-put fix at the data-model layer; new slot_locked verifier-flag)
9. Player editor-mode + three-source schema unification (world_gen_init /
runtime_event / player_authored origin field on cell-rows; same
schema across all three writers)
UPDATES:
architecture-index.md (v0.20 -> v0.21):
- Tree-line: runtime-engine/ now sibling-paper-pattern (architecture.md
+ event-zones.md)
- Quick-reference table: new row for event-zones.md
- Three new key-moves bullets:
* "The composed wheel as universal mini-game-substrate"
* "Event-zones + cells + events as layered interaction substrate"
* "Three-source schema unification + player editor-mode + room-
boundary lifeforce"
- Open questions: "The mini-game mechanic for liminal-maintenance"
RESOLVED — all on one wheel, differentiated by verifier-flag pattern
topology-and-rendering/architecture.md:
- New section "Vertical world topology — simple shapes + ±1 LOD tunnels
+ slum-carve-verb": stacked tunnels with primitive shapes; ±1 LOD
streaming-radius bounds GPU budget; slum-carve verb-grammar; material-
vocabulary politically-codes editor-eligibility (imperial-marble can't
be carved; rusted slum-bedrock yields); Boullée-monumental aesthetic
on the cheap via vertical-stacking
player-experience/architecture.md (v0.7.0 -> v0.8.0):
- New section "The wheel — composed-iconography UI": the trait-circle
UI renders the composed wheel from imperial-cult/cosmology.md; inner
ring = 6 caste-tier hardstops (HARD signals — the WHO); outer ring =
8 trait-axis soft-slots (SOFT signals — the HOW); 2D gesture-history
coordinate (caste-target × trait-temperature) as political-position
reading; contextual hardstop activation; wheel as universal mini-
game-surface
Three identity layers aligned: chrysalis git-author, chrysalis SSH key,
gitea-chrysalis remote. Pre-push verification gates passed.
This is the largest single-session paper-pass since v0.7's three-body-
system split. All nine compositional moves use existing primitives;
no new substrate introduced; the architecture's signature pattern
(cost-budget asymmetry as architectural style) enacted at the
interaction-substrate scale.
Genesis note: this paper-pass composes the dialog that emerged after
the v0.25 inline-iconography cleanup landed. Key architectural insights
from the dialog were: (1) the wheel collapses the mini-game-mechanic
open question; (2) consent-discipline-Variants = event-class taxonomy;
(3) the cell-arch atomicity makes editor-mode trivial; (4) the
boundary-zone-with-inner-zone pattern is the architecture's signature
pattern at a fourth scale; (5) the architecture's "describe-by-cross-
reference" discipline composes beautifully when there's a load-bearing
canonical reference like the composed wheel.
22 KiB
Player Experience
The player surface: the player as perturbation (a finite attention-unit injected into the simulation, not above the scheduler); voice and gesture as parallel trait-vocabularies (voice carries content, gesture carries trait-resonance, both compile into the designer-fixed cosmology); tools-not-quests as the design-philosophy that makes ~30 verbs against continuous simulation-pressure produce literature-register emergent narrative.
Companion to:
architecture-index.md(executive summary + global meta-lists),runtime-engine/architecture.md(gesture-alignment-as-recursive-lemniscate lives in zone-kinematics),narrative-composition/architecture.md(the Compositor consumes player perspective-bundles),inference-and-memory/architecture.md(local STT/TTS placement, three-tier knowledge stack). Sections in this file were split from the monolithic architecture-index.md v0.7 on 2026-04-26.
The player as perturbation
Player is not above the scheduler. Player is a finite attention-unit injected into it; modeled as NPC with shift, vocation, needs. Every player-NPC interaction:
- Pulls the NPC out of scheduled tasks
- Consumes director compute
- Degrades district's quota-fulfillment
- Shifts local lifeforce deltas
Player is angel and chaos simultaneously. Per-NPC scale (angel) — you help; they survive; Philotes consolidates; they may clasp with you, die for you, remember you across cycles. Per-district scale (chaos) — your time-consumption raised aggregate failure-rate; someone else broke this cycle; ambient desperation rose; lifeforce dropped; other directors got quieter.
The game's moral economy doesn't judge — it does arithmetic in front of you.
Thematic claims become literal economics
- "Time as the scarcest resource" — every minute with a beloved is a minute the district's quota is missing
- "Time-theft as wage theft" — clasp-pairs are statistical anomalies in the scheduler
- "The critique is the simulation" — no separate narrative system needed
The player has tasks and needs too
Time helping others = own tasks fail = own quotas missed = own enforcement-pressure rises = own death and reinstantiation arrive sooner. The player IS the system they are deviating from.
Player layer-access
Player's first entry into liminal is the Matrix red-pill moment as mechanic. They walk the city the first time in gameworld-register. They eventually learn the mini-game, enter liminal, return to the same walls, find "they were here" waiting. The world was speaking to them the whole time; they just couldn't read it.
Player input — voice and gesture as parallel trait-vocabularies
The player participates in the simulation through two parallel modalities that both compile into the same designer-fixed trait-cosmology: voice (spoken dialog, transcribed locally, persisted as transcript-rows in primary.sqlite) and gesture (the trait-circle UI, an in-fiction tool the player builds across their playthrough). Neither modality routes input through a chat-window or HUD field — the world is interacted with through speech-and-gesture, both rendered diegetically. Voice carries the content of what the player says; gesture carries the trait-resonance of how the player attends.
Voice-first as primary speech modality
Speech-to-text and text-to-speech run locally on the player's machine for every player, independent of dialog-tier Ring choice (§LLM tiering, see inference-and-memory/architecture.md). The Ring-A/B/C choice is about where the cognition lives (driver-tier LLM, trait-LoRAs, sampling-knob composition); voice infrastructure is fixed at the player's machine. This single placement decision keeps voice-as-biometric off the network universally, sidesteps per-provider STT/TTS compatibility in Ring-C, and sets a tractable minimum hardware floor for v1: STT/TTS-capable on CPU.
Transcripts are the persistence layer. A player utterance becomes a row in primary.sqlite (or clasp.sqlite if in-between mode), tagged with witnessing-NPCs, audit-overseer-detection-eligible, faction-resonance-eligible — the same shape as any NPC speech-act-row. Disclosure of clasp-content into realworld happens only by the player re-uttering it aloud while in realworld mode — which writes a fresh realworld-speech-act-row with full provenance. The clasp-store remains sealed; clasp-content can only re-enter realworld through new in-fiction utterance. The knowledge-needs-to-travel principle (§Local memory architecture, see inference-and-memory/architecture.md) is mechanically enforced because speech-is-the-only-output-channel.
Accessibility-mode for non-speaking players is diegetically wrapped (writing on slate / handheld pad / in-fiction text-comm); accessibility-mode utterances persist through the same transcript-row mechanism. The witness-list, audit-overseer-detection, and faction-resonance machinery are modality-agnostic. Non-speaking players are not getting a degraded-fallback — they are using the gestural primary modality, voice optional.
The trait-circle as gestural primary modality
The gestural input geometry: 8 trait-sectors × 8 player-curated slots = 64 active gesture-positions, organized in a circle whose 8 sectors map 1:1 to the 8 Hellenic traits (§Color-language, see topology-and-rendering/architecture.md). Each player has 1 to 3 named profiles stored in their universal translator, hot-swappable on-ring via a profile-switch meta-gesture; total callable positions across profiles approach 200 while the cognitive-load ceiling at any single moment stays at the 64 of the active profile.
A reserved subset of ~8-16 positions across the circle are hardstops — hardcoded ritual gestures that fire definitive subsystem-actions: definitive-farewell, definitive-refusal, surrender, clasp-invitation, clasp-refusal, help / pain / danger, faction-recognition signals (Clasp-Underground, Aletheia-Waker), memorial-witnessing, claim-floor (the priority-pull turn-claim into a running lemniscate). Hardstops are visually distinct (gold-border / inner-ring / white-on-color), player-callable but not player-remappable, and exist precisely because the consent / clasp / faction-recognition / survival-signal claims the architecture makes elsewhere require unforgeable critical signals. The remaining ~192 player-curated slots ride as feedback during conversation — see §Gesture-alignment as recursive-lemniscate under §Zone kinematics in runtime-engine/architecture.md.
Designer-fixed cosmology, player-curated arrangement
The corpus of words/verbs and their trait-coordinate-mappings is designer-authored, fixed, universal. Same word → same trait-color → same response-semantics for every player and every NPC and every LLM-context. The cosmology is the typed contract that closes the player-LLM hallucination-surface.
The player's role is translation, then arrangement: encountering words in the world, decrypting them via the universal translator, gradually coloring-in the world's vocabulary in trait-colors (the tokenizer-website visualization — words you have fully translated render in their trait-color; untranslated words are fragmentary or opaque), and choosing where on the circle to place known entries within the 1-3 profiles.
| Layer | Who decides | Why |
|---|---|---|
| Word/verb → trait-color mapping | Designer-authored corpus | Universal cosmology; LLM and NPC and player share one vocabulary; anti-hallucination |
| Which entries a player has translated/learned | Player progression | Earned via decryption-minigames, hacking, scavenging, faction-unlock, gifts from NPCs |
| Where on the circle a known entry goes | Player curation | Personal organization within the universal cosmology — the self-portrait, built from a fixed alphabet |
| Combos (path-traversals through the circle) | Player authoring | Sequences of sector-slot selections; meaning-emerges-from-traversal; refined over use; preserved across body-deaths |
Linguistic competence and emotional competence are the same thing in this system. What the player can resonate with is bounded by what they have translated. A player who has not decrypted Aletheia-vocabulary cannot resonate with an Aletheia-Waker NPC's truth-register; a player whose Memorialist-Old-Tongue catalog is incomplete cannot fully participate in Memorialist-witnessing rituals. The translator is the player's aperture into trait-alignment-fluency.
The universal translator as the player's diegetic device
The universal translator is the player's in-fiction tool, not a system-architecture primitive. As an in-fiction device it is broken / scavenged starter gear (battered tablet, cracked screen) that the player upgrades over the playthrough via better chips from higher-tier junk. It serves three bundled roles:
| Role | What it does | What persists across body-deaths |
|---|---|---|
| Linguistic decryption | Decrypts foreign dialects (Machine-Newspeak, Slum-patois, Memorialist-Old-Tongue, Aletheia-Waker-code, Clasp-Underground-signals, Scavenger-technical, Caste-preacher-formal); some concepts (notably Aletheia) are untranslatable by machine-tech and must be learned from intimacy, not machine | Vocabulary catalog; mappings |
| Curation / authoring workspace | Curator workspace (which entries occupy which sector-slots across profiles); combo-authoring workspace (chain entries into meaningful sequences); meaning-mapping workspace (assign embeddings); feedback-log workspace (review past combos' reception, iterate) | Player's complete circle-configuration across all 1-3 profiles; combo-library |
| Persistence anchor | Preserved as part of consciousness-archive; hardware may be lost with body, learned vocabulary survives | All of the above |
Misunderstanding is a first-class feature. The translator is broken; words have multiple meanings; dialects collide; a caste-preacher's sermon has benign surface-meaning and sinister subtext; a beloved's whispered word has three plausible meanings the player carries simultaneously for hours. Content sources are diegetically political — hacking corporate archives (risky), scavenging old-world fragments (exploration), Memorialist caches and Aletheia-Waker codices (lost prophecies), gifts from NPCs (beloveds teach, mentors give), faction-unlock (joining unlocks dialect catalogs).
Decryption minigames (fragment-matching, contextual-inference, root-identification, pattern-cracking) make linguistic competence a life-project across cycles, not an item knocked out per playthrough. 200-hour players have dramatically richer linguistic competence than 50-hour players. Aletheia is untranslatable by machine-tech — some concepts must be learned from intimacy, surfacing as Aletheia-Waker progression: the machine's tools cannot speak truth.
Cross-body recognition via gesture-mapping calibration-signature
Clasp-partners' gesture-mapping calibrations integrate post-clasp; the integrated calibration-signature is preserved across body-deaths in consciousness-archive. When you meet your old beloved in a new body and they perform a gesture, if their mapping aligns with yours in a specific, idiosyncratic way that only your shared history would produce, you recognize them. Content-addressable consciousness — recognition via calibration-signature, not face-match. A high-Mnemosyne player's marriage-vocabulary survives the cycle.
The wheel — composed-iconography UI
The player's trait-circle UI renders the composed wheel from ../imperial-cult/cosmology.md §The composed wheel. One iconographic substrate; two registers; the player operates the imperium's own iconography to act in the world.
The unification's architectural significance. Before this composition, the trait-circle UI and the cosmology's wheel were separate diagrams; the player's input mechanism and the regime's pre-authored religion shared substrate-level primitives (the 8 Hellenic traits, the oppositional-pair geometry) without sharing iconographic surface. The composed wheel makes them one image — the same wheel citizens see carved on stepwell-walls is the wheel the player operates with their gesture-input. Resistance, when it emerges, is interior to the captured iconography, exactly as the cosmology says it is for citizens. The double-recognition gets its UI-level substrate (per ../imperial-cult/cosmology.md §The double recognition (production / meta) — "the desire that brought you to this world is the structure of suffering itself" — every gesture the player has ever made was a position on the wheel the imperium drew).
Inner ring — caste-tier hardstops (HARD signals — the WHO)
The wheel's inner ring carries 6 caste-tier-targeted hardstops corresponding to the cosmology's caste-tier-as-mod-status gradient (deva/asura/manusya/tiryak/preta/naraka). These are the WHO you address in any gestural act:
| Hardstop | Caste-tier targeted | Iconographic register |
|---|---|---|
salute_the_deva |
Deva (top, 0°) | Imperial-fidelity emote; loaded as cooperation-with-imperial-pinnacle |
attend_to_asura |
Asura (upper-right, 60°) | Hierophantic register; addressing the priesthood specifically |
attend_to_manusya |
Manusya (upper-left, 300°) | Engagement with the doctrinal-fiction tier |
attend_to_tiryak |
Tiryak (lower-right, 120°) | Engagement with the slum-laboring register |
weep_for_preta |
Preta (lower-left, 240°) | Mourning / hunger / hungry-ghost solidarity |
weep_for_naraka |
Naraka (bottom, 180°) | Solidarity-with-the-condemned; the warmest position politically |
These 6 inner-ring hardstops are always-on (universally available) — they're the politically-loaded act of targeting a caste-tier as audience. Each fires unforgeably with caste-tier-routing. The Compositor reads the player's caste-tier-targeting-history as a political-position dimension (per ../runtime-engine/event-zones.md §Hardstops as consent-gates with contextual activation).
Outer ring — trait-axis soft signals (SOFT signals — the HOW)
The wheel's outer ring carries 8 trait-axis soft-slots corresponding to the trait-palette's 8 Hellenic traits at 4 oppositional pairs at 180°. These are the HOW you carry yourself while engaging:
- 8 trait-segments at 45° intervals on the outer ring
- Player-curated within each profile (1-3 profiles per player; same 64-position-per-profile architecture as the existing trait-circle)
- Modulated by trait-vector accumulation; integrated via the gesture-alignment-recursive-lemniscate (per
../runtime-engine/architecture.md§Gesture-alignment as recursive-lemniscate)
The outer ring's 8 segments don't divide evenly into the inner ring's 6 segments — the geometry is deliberately incommensurable (per ../imperial-cult/cosmology.md §The two-ring composition). The trait-substrate runs orthogonal to the imperial caste-classification; the body's interior is at a different angular frequency than the imperium's classification. Player gestures express across the boundary that the imperium's gaze cannot cleanly enforce.
2D gesture-history coordinate
A player gesture, in the composed-wheel UI, is a (caste-target × trait-temperature) coordinate — a 2D political position rather than the prior 1D trait-vector. The Compositor reads this 2D coordinate over time as the player's political-position-history: which caste-tiers the player has been addressing AND with what trait-temperature they've been addressing them.
Example political-position-readings the Compositor can extract:
| Pattern | Reading |
|---|---|
| Hard-target Naraka + soft-express Eros / Philotes | Solidarity-with-the-condemned via warm-side; Memorialist-aligned politics |
| Hard-target Deva + soft-express Sophrosyne / Dikaiosyne | Imperial-fidelity; aspiration toward pinnacle-discipline |
| Hard-target Tiryak + soft-express Aletheia | Truth-via-labor's-witnessing; Aletheia-Waker emergence |
| Hard-target Preta + soft-express Kairos | Mourning the deferred moment; Memorialist register |
| Hard-target Asura + soft-express Mnemosyne | Hierophantic engagement; engaging the priesthood on its own register |
The 2D coordinate is much richer than the 1D trait-vector the prior architecture had. The mesh-as-mirror discipline (per ../identity-and-personhood/architecture.md §The mesh-as-mirror) generalizes from anatomical-trait-leakage to gestural-history-leakage — the player's wheel-positions tell on them exactly as the slum-tiryak's pure-tech body tells on its trait-state.
Contextual hardstop activation
Beyond the always-on inner-ring caste-tier hardstops and the system-level off-wheel hardstops (panic, save, profile-switch, claim-floor), additional intent-hardstops light up contextually when the player is slot-bound in an event-zone whose eligible-task-classes include that intent:
- let_me_fumble_around_your_limb lights up when slot-bound in a sofa-event-zone with a clasp-eligible NPC
- let_me_install_this_mod lights up when slot-bound in an install-table-event-zone with a partner-NPC
- let_me_hack lights up when slot-bound at a chest-cell with hacking-eligible-task-class
- let_me_extract_capsule lights up only at a black-market-modshop-event-zone with appropriate calibration-state
The canonical ~8-16 hardstop budget is therefore per-moment-active, not overall. The hardstop-registry can carry many intent-hardstops; only the contextually-relevant ones are surfaced at any given moment. This solves discoverability + contextual-relevance + budget-respect simultaneously (per ../runtime-engine/event-zones.md §Hardstops as consent-gates with contextual activation).
The wheel as universal mini-game-surface
When an event spawns at an event-zone, the wheel renders with the event's verifier-flag pattern — same UI substrate, different mini-game-class per task. Hacking, lockpicking, install/consent, clasp-entry, decryption, ritual, drug-grammar, eye-pulse-proximity-warning — all run on the same wheel; the player learns one input vocabulary and applies it everywhere. The architecture's open question "which mini-game mechanic for liminal-maintenance: juggling / rhythm / attention / gestural / decision-cascade / observation / hybrid?" resolves: all of them, on one ring, differentiated by verifier-flag pattern (per ../runtime-engine/event-zones.md §The wheel — universal mini-game-surface).
Tools, not quests — the design-philosophy
The simulation produces continuous narrative-relevant pressure on its own. No authored quests are needed (or wanted). The player engages via a verb-vocabulary applied to running mechanics. Each player's playthrough is structurally distinct.
The verb vocabulary (~30 player tools)
| Class | Verbs |
|---|---|
| Movement | walk_freeform, plug_into_rail, follow, intercept, escort, detach, defect_via_pipe, enter_interior |
| Social | greet, gesture, walk_with, clasp_invite, clasp_refuse, ask, refuse, confide |
| Economic | buy_net, refuse_net, buy_blackmarket, sell_labor, donate_lifeforce, body_mod_fit |
| Information | wall_read, wall_write, liminal_maintain, true_ledger_record, expose_corruption, conceal_corruption |
| Political | support_faction, refuse_faction, recruit_aletheia, dispatch_memorial, participate_ceremony, refuse_ceremony |
| Personal | rest, dream, eat, work_shift, deviate_shift, cultivate_trait_through_act |
~30 verbs composing with continuous simulation-state = infinite emergent-narrative.
Continuous-demand-source inventory
The player is never without affordance because every layer of the architecture continuously generates situations-requesting-response: NPC trait-gates accumulating; shift-quotas looming; district-lifeforce-shimmer changing; faction-pressure visible; imperial-budget-mood inferable; three-layer-ontology rendering walls differently per access; color-language showing shifts; mind-pool generating soul-recognitions; imperial-net body-modder-tragedies visible; Memorialist-archives accessible.
Literature-register
Most games are short-stories: authored, bounded, fixed-arc. Tools-not-quests is novel-shape: emergent from systems-of-forces operating on characters. Tolstoy doesn't author Anna's path; he authors the world she moves through. Nimmerworld is novel-shaped, not short-story-shaped. Players experience flow rather than completing items; replays are like rereading from a different angle; memorable beats are what happened to you in this regime, not which quests you cleared.
Economic feasibility for a two-person-plus-Nyx team
| Where AAA spends | Where this team spends |
|---|---|
| Quest writing | Simulation-parameter balancing |
| Quest scripting / branching | Tool-vocabulary curation |
| Voice acting (per quest) | Prompt-DSL templates for LLM-driven slot-dialog |
| Cinematic cutscenes | Shader-language + color-vocabulary |
| Content-multiplication | Simulation-density (one rich system, infinite play) |
| QA on individual quests | Reward-function tuning + guardrail design |
| Localization per quest | None — emergent narrative generated at play-time |
You don't author the stories; you author the world that produces stories. This is the Spelunky / Dwarf Fortress / Caves-of-Qud / RimWorld lineage extended into political-economy depth.
Blank-page-problem mitigations
The architecture already prevents blank-page-paralysis: shift-system gives every NPC default activity-frame; emergent-signals + shader-detection produce affordance-glow; NPCs' ongoing needs become signals to engage with; imperium's mood is visible (construction, patrols, propaganda); faction-membership confers expectations; player's own trait-vector creates personal pulls.
The world is never silent if you're listening. And drifting (not-listening) is also valid — you live a quiet shift, work, sleep, dream; the world rolls on around you.
Version: 0.8.0 | Created: 2026-04-26 | Updated: 2026-04-27 | Origin: Split from architecture-index.md v0.7 (2026-04-26)