Spring-cleaning accumulated v0.1 vertical-slice residue across the wiki. Scope per Jeroen's pre-decisions on 2026-04-21: - Delete outright: wiki/star-systems/GJ-35/sova/ subtree (5 files + 2 dirs) — v0.1 Station Sova / Transit District content. - Strip example blocks in authoring guides and _templates/ that cited dropped v0.1 NPCs (Kael Davan, Sera Venn, Nils Davan, Devra, Torek, Renn, Pell, Tav, Lera Sessik, Sabel). Replaced with short "v0.1 examples removed — D-122" notes pointing authors to the active NPC roster. - Rewrite canonical-lore references file-by-file: faction pages, technology pages, contraband pages, concepts pages, corp pages that cited v0.1 names/places. Preserve institutional/structural content, drop specific-name citations. - Commission name drift: replace "Concord Commission" and "Assembly Commission" with "the Lattice Commission" (D-193) throughout. - Van Maanen's Star cultural references: the canonical in-game name is Vuurkloof. "Van Maanen's Star" is retained only as an astronomical designation (glossary + GJ-35 Calibration Note). All cultural/system references converted to Vuurkloof across culture-authoring-guide, cultural-generation-guide, founder-gates, and star-system adjacent-system descriptions. - Strip `v0.1` from faction/triangle frontmatter tags (8 files). - wiki/triangles/hub-power.md and wiki/factions/the-ring.md: rewritten using role-name exemplars (Ring Coordinator / Shift Supervisor / THE FRIEND) instead of named v0.1 NPCs. Triangle pattern preserved as a structural reference. Also applies drive-by Commission drift fixes and minor cross-ref updates to canonical corps (gate-corporation, mastroianni-vehicle-group, stalownia-kowalski, prometheus-labs, ferreira-monteiro, vins-de-grand-vide, and 13 others). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
6.0 KiB
Mirror Moment Design Document
Status: Design pattern (v0.1 examples removed — see D-122, D-117) Decisions referenced: D-032 (separate monologue pools), D-034 (THE FRIEND), D-039 (wow moment #4 — Divergence Reveal)
1. What Is a Mirror Moment?
A mirror moment is a shared trigger that produces completely different monologue for each playable character. Same event. Same NPC. Same location. Two entirely different emotional experiences.
The player who has completed both playthroughs encounters the mirror moments as a recognition: "I was in this exact situation, but I felt something completely different." This is the mechanism of Wow Moment #4 (Divergence Reveal — D-039): the realization that the same world contains two different experiences, and that you've had both.
What a mirror moment is NOT:
- A branching dialogue option
- A triggered cutscene
- An informational difference ("character A knows X and character B doesn't")
A mirror moment is an interpretive difference — same information, same NPC behavior, same physical event. Different internal frame. Different emotional weight.
2. Design Principles
Principle 1: Same trigger, different pool (D-032 hard partition) Mirror moments operate because monologue pools are hard-partitioned by character. The same trigger key fires into one character's pool OR the other's — never both. The authoring requirement is to write both sides of every shared trigger.
Principle 2: The difference must be felt, not explained A mirror moment works when the player FEELS the divergence without having it explained. The two monologue lines should be immediately recognizable as coming from different places — different relationships, different frames, different fears.
Principle 3: The mirror reveals what the character CARES about The relationship to a place, person, or object is what the mirror reveals. A mirror moment that doesn't surface this difference is a content gap, not a mirror.
Principle 4: At least some mirrors should work on first playthrough Not every mirror moment requires a second playthrough to land. Some mirrors work as a moment of character voice — the player just hears what their character notices. Second playthrough makes the divergence explicit, but first playthrough should have its own emotional coherence.
3. Mirror Moment Examples
v0.1 examples removed (cited named NPCs no longer in v0.2 pipeline — D-122). Author mirror pairs against the active district's social sites and NPC roster.
Structural types to cover in any district:
- THE FRIEND at baseline routine (personal vs. analytical read)
- Empty operational space (operational safety vs. investigative lead)
- NPC in emotional distress (protective impulse vs. witness assessment)
- Behavioral tell (security concern vs. evidentiary lead)
- THE FRIEND avoiding another NPC (relief vs. behavioral anomaly)
- Ambient environment (familiarity vs. alienation)
- Institutional infrastructure (passive threat vs. investigative tool)
- THE FRIEND with their significant relationship (privacy vs. evidence)
- Information terminal (trusted colleague's workspace vs. crime scene)
- Routine operational window (cover vs. pattern recognition)
4. Mirror Moment Authoring Rules
Rule 1: Both sides are mandatory
A mirror moment is only complete when both sides of the mirror are authored. Omitting one side is a content gap.
Rule 2: Same trigger key, different pool
Both lines use the same trigger type and similar prerequisite conditions. They appear in separate character monologue files (D-032 hard partition). The only difference is the character tag.
Rule 3: No shared content
Neither monologue line should directly reference the other or acknowledge the other character's frame. Each line is internally coherent to its character. The divergence is created by the CHARACTER's relationship to the world, not by explicit contrast.
Rule 4: The lines must stand alone
A player who only plays one character should not feel the mirror moment is incomplete. Both lines should work as independent character voice — good monologue that stands on its own.
Rule 5: Tag all mirrors for tracking
Add tags: [mirror_moment] to both sides of every mirror pair so they can be identified and validated as a set.
5. YAML Example
# Character A side — monologue-character-a.yaml
- id: pc-{archetype-a}_m_s_001
character: {archetype-a}
trigger: observe_npc
prerequisite:
location: {location-slug}
target: npc:{npc-slug}
relationship_state: Known
text: "{Line from character A's relationship frame — personal, protective, operational}"
mood: [warm, concerned]
topic: [colleague]
tags: [mirror_moment, mirror_{name}]
# Character B side — monologue-character-b.yaml
- id: pc-{archetype-b}_m_d_001
character: {archetype-b}
trigger: observe_npc
prerequisite:
location: {location-slug}
target: npc:{npc-slug}
text: "{Same trigger, different frame — analytical, investigative, pattern-seeking}"
mood: [analytical, curious]
topic: [investigation]
tags: [mirror_moment, mirror_{name}]
6. Validation Checklist
For each mirror pair:
- Both sides authored
- Same trigger type used
- Both sides use
tags: [mirror_moment, {mirror_name}] - Lines stand independently as character voice
- Emotional register diverges (personal vs. analytical, OR equivalent meaningful contrast)
- No shared vocabulary that implies the characters are comparing notes
- Prerequisites match (same NPC, same location condition, equivalent state requirements)
7. Expansion Notes
Mirror moments should be authored for every repeated trigger point in a district's social sites. Priority triggers: THE FRIEND's daily routine, shift transitions, any institutional infrastructure, behavioral tells, NPC pairings that create observable social dynamics. The more a location has observable social texture, the more mirror moments it can support.
Design pattern document — Mirror Moments. Examples are authored per-district against the active NPC roster.