move into ~/nimmerverse/.archive/nimmerworld.eachpath.local/ rebuild for future worldserver
This commit is contained in:
1 parent
35dd96ee09
commit
4aa0240bee
39 files changed
-8322
No files matched your search
@@ -1,246 +0,0 @@
|
||||
# Nimmerworld — Consent Discipline
|
||||
|
||||
> *The architecture's consent-spine: the gradient that scales with what the action touches; the four hardstop-pattern variants that gate transitions between gameworld and truth-register; the mirror-discipline that absolutely forbids mesh-modification of other agents; the temporal-grammar that relocates consent-time to the 24h window-partition; the right-to-refuse imperial-imposition that lives in going-rogue as a breakout-flag; the inquisition-trigger pattern where legitimate consent itself reveals imperial control-loss.*
|
||||
>
|
||||
> *Companion to: [`./trait-palette.md`](./trait-palette.md) (the trait-vocabulary spine), [`./gender-parity.md`](./gender-parity.md) (the gendered-framing spine — second sibling), and the architecture's many canonical consent-instances scattered across `identity-and-personhood/`, `political-register/`, and `imperial-cult/`.*
|
||||
>
|
||||
> *v0.1 initial draft 2026-04-27 — dafit + chrysalis. Third style-spine document. Authored AFTER `vocations.md` so the temporal-grammar (windows) could be cited cleanly. Codifies a discipline that has been running implicitly through canon since the v0.1 clasp-mechanic and now becomes explicit.*
|
||||
|
||||
---
|
||||
|
||||
## What this is
|
||||
|
||||
This document specifies the **consent-discipline** running through nimmerworld's mechanics — the third style-spine document, alongside `trait-palette.md` (the trait-vocabulary spine) and `gender-parity.md` (the gendered-framing spine).
|
||||
|
||||
Where the trait-palette spines the trait-vocabulary and gender-parity spines body/sex authoring discipline, **consent-discipline spines the *register-boundary discipline*** — what consent is, where it lives, when it must be hardstop-mediated, when it must be cooldown-augmented, and where it is absolutely forbidden to override. The discipline has been running implicitly through canon since the v0.1 clasp-mechanic; this document makes it explicit and codifies its variants.
|
||||
|
||||
The consent-discipline is **a gradient**, not a binary. Its shape reflects the architecture's commitment to a **two-register cosmology**: the gameworld (the imperium's territory) and the truth-register (each agent's own interior). Consent-discipline is the mechanism that enforces the boundary between them.
|
||||
|
||||
## Spine rule — consent scales with what the action touches
|
||||
|
||||
**Consent-discipline scales with what the action touches.** The gradient:
|
||||
|
||||
- Actions affecting only ephemeral gameworld state are **unmediated** — no consent-signal required.
|
||||
- Actions affecting the actor's own truth-register state are **self-hardstop-mediated** — single unforgeable signal from the actor.
|
||||
- Actions affecting another agent's truth-register *encounter* are **dual-hardstop-mediated** — mutual unforgeable signals from both agents (with partner-witness as a third signal when the affected agent is partnered).
|
||||
- Actions modifying another agent's in-between mesh — the trait-grown truth-register body — are **absolutely forbidden** by mirror-discipline. *No consent can authorize this; the mirror is the architectural truth-floor.*
|
||||
- Actions that are *irreversible* require **cooldown-augmentation** — mandatory time-between-commitment-and-act in addition to the hardstop(s).
|
||||
- Actions touching *sumptuary-religious doctrine* trigger the **imperial inquisition** as escalation beyond the ordinary bounty-staircase response — even when the consent itself was legitimate.
|
||||
|
||||
The 24h window-partition (per [`../identity-and-personhood/vocations.md`](../identity-and-personhood/vocations.md) §The 24h window-partition) gives the consent-discipline its **temporal-grammar**: imperial-imposition lives in the 10h work-window; somatic-necessity lives in the 4h charging-window; **full NPC consent-agency lives in the leisure-window**. The going-rogue arc preserves the right to refuse imperial-imposition as a temporal-breakout-flag.
|
||||
|
||||
**Why this matters.** In a world where the imperium claims everything (per the no-haven discipline of [`../imperial-cult/cosmology.md`](../imperial-cult/cosmology.md) §There is no outside), the consent-discipline is what carves out and protects the *non-imperial* spaces — the truth-register, the leisure-window, the going-rogue refusal. **Without the consent-discipline, the imperium would in fact be everywhere; with it, the truth-register exists structurally.** This is the architecture's strongest possible enforcement of the cosmological claim *"there is no instrument"* (per [`../identity-and-personhood/bodies.md`](../identity-and-personhood/bodies.md) §The post-rogue mod-vocation): every agent retains a register the imperium cannot reach without that agent's unforgeable signal.
|
||||
|
||||
The two-spine claims compose orthogonally: *"there is no outside"* (no-haven) describes the world the imperium has built; *"there is no instrument"* (post-rogue cascade) describes what consent-discipline preserves *within* that world. **The cosmology is total in extent; the truth-register is sovereign in interiority. Both true at once.**
|
||||
|
||||
## The two-register architecture
|
||||
|
||||
The consent-discipline rests on the architecture's distinction between **two ontological registers**:
|
||||
|
||||
| Register | What lives here | Consent-discipline |
|
||||
|---|---|---|
|
||||
| **Gameworld** | Chassis-body; rail-system; zones-of-action; resource-flows; imperial-arbitration; outcomes; outputs; the imperial-net's surveillance-territory | Loose; actions don't gate by consent unless they cross-register |
|
||||
| **Truth-register** | The in-between dimension; the trait-grown mesh; the witness-axis; the calibration-multiplier; the memory-class hierarchy; the clasp-pair; the per-pair calibration-signature preserved across body-deaths | Strict; gated by hardstop-discipline |
|
||||
|
||||
**Consent is the boundary-enforcement between them.** Actions wholly within one register don't require consent-mechanisms (provided they obey that register's discipline); actions that *cross-register* (gameworld → truth-register, or truth-register → truth-register-of-another) require unforgeable signals.
|
||||
|
||||
This composes directly with the existing canonical claim *"Mods are for the regime and the market; removal-of-mods is intimacy"* (per [`../identity-and-personhood/architecture.md`](../identity-and-personhood/architecture.md) §Clasp strips mods). The mod-economy is gameworld; the unmodded interior is truth-register; clasp is the cross-register transition; **consent is what gates the transition**.
|
||||
|
||||
The genital-mod track creates a structural exception worth naming: *mesh-resident mods follow into the in-between dimension* (per [`../identity-and-personhood/architecture.md`](../identity-and-personhood/architecture.md) §The genital-mod track). They cross from gameworld-purchase-event into truth-register-resident-state at install-time. This is precisely why the install requires dual hardstop + cooldown — it is the canonical cross-register transition the consent-discipline was designed to gate.
|
||||
|
||||
## The four hardstop-pattern variants
|
||||
|
||||
The architecture uses **four canonical hardstop-pattern variants**, each calibrated to a different consent-shape:
|
||||
|
||||
### Variant 1 — Self-only hardstop
|
||||
|
||||
A single unforgeable signal from the actor. Used when the action affects only the actor's own truth-register state.
|
||||
|
||||
**Canonical instances**:
|
||||
- Genital-mod self-installation (unpartnered actors) — *self-install hardstop* fires alone (per [`../identity-and-personhood/architecture.md`](../identity-and-personhood/architecture.md) §The three-stage install)
|
||||
- Personal mod-removal (when the actor de-imposes their own imperially-installed mod in the post-rogue mod-vocation register)
|
||||
- Voluntary entry into liminal-state when not coordinated with a partner
|
||||
|
||||
**Why single-signal**: only one truth-register is affected; only one signal is needed. The actor consents to themselves.
|
||||
|
||||
### Variant 2 — Dual hardstop (mutual)
|
||||
|
||||
Two unforgeable signals coordinated in time — both partners hit the hardstop while a shared gate-state is OPEN. Used when the action affects two agents' truth-registers symmetrically.
|
||||
|
||||
**Canonical instances**:
|
||||
- **Coordinated-firewall-breach hardstop** for in-between dimension entry (per architecture-index.md resolved-questions, v0.10) — the canonical reference-implementation of the dual hardstop
|
||||
- **Mutual-symmetric pill-take** in drug-amplified clasp (per [`../identity-and-personhood/bodies.md`](../identity-and-personhood/bodies.md) §The mutual-consent ritual)
|
||||
- **Post-rogue mod-vocation NPC-modding** when the modded NPC is unpartnered (rogue's commit + NPC's witnessed-consent, per [`../identity-and-personhood/bodies.md`](../identity-and-personhood/bodies.md) §The post-rogue mod-vocation)
|
||||
- **Body-disposal under pair-consent** — sell / destroy / retain decisions (per [`../identity-and-personhood/bodies.md`](../identity-and-personhood/bodies.md) §Body-disposal under pair-consent) — structurally Variant 2 with role-asymmetry (defected-beloved chooses; player advises but cannot decide)
|
||||
|
||||
**Why dual-signal**: both truth-registers are affected; coordination ensures both consent at the same moment, preventing one-sided crossings.
|
||||
|
||||
### Variant 3 — Triple hardstop (with partner-witness)
|
||||
|
||||
Three signals when the affected agent has an established clasp-pair: the actor commits, the affected agent consents, and the affected agent's partner witnesses-and-co-signs.
|
||||
|
||||
**Canonical instances**:
|
||||
- **Genital-mod installation when the actor is partnered** — *self-install + partner-witness*. The body-they-meet-in-clasp is co-signed; modification doesn't surprise the partner mid-clasp (per [`../identity-and-personhood/architecture.md`](../identity-and-personhood/architecture.md) §The three-stage install).
|
||||
- **Post-rogue mod-vocation NPC-modding when the modded NPC has a clasp-pair** — the partner ensures the modified-chassis-they'll-meet-in-clasp is co-signed.
|
||||
|
||||
**Why triple-signal**: the modification will affect *what the partner meets in next clasp*. Preserving intimacy-trust requires the partner to co-sign before discovery becomes mid-clasp surprise. **The consent-discipline preserves intimacy-trust at install-time, not at meet-time** (per [`../identity-and-personhood/architecture.md`](../identity-and-personhood/architecture.md) §Mesh-resident mods cross the in-between threshold).
|
||||
|
||||
### Variant 4 — Cooldown-augmented (any of variants 1-3)
|
||||
|
||||
Irreversibility-respect adds a mandatory time-window between commitment-and-act on top of the hardstop(s). The actor commits at the mod-counter (or equivalent); a cooldown elapses; the actor returns to install with the appropriate hardstop(s) firing.
|
||||
|
||||
**Canonical instances**:
|
||||
- Genital-mod installation has a mandatory cooldown between purchase and install (per [`../identity-and-personhood/architecture.md`](../identity-and-personhood/architecture.md) §The three-stage install) — the *full* discipline is *purchase-commit + cooldown + install-time-hardstop(s)*
|
||||
- *Likely future*: any modification that changes truth-register state irreversibly should layer cooldown on top of the appropriate hardstop variant — re-vat events; chassis-anatomy modifications; consciousness-archive interactions
|
||||
|
||||
**Why cooldown**: hardstop alone isn't sufficient when the act cannot be reversed; the cooldown forces deliberation between commitment and act, ensuring the hardstop-firing reflects considered intent rather than impulse. *Real-world informed-consent practice for irreversible body-modifications operationalized at the mechanic layer.*
|
||||
|
||||
### Architectural significance — Variants 1-4 as the event-class taxonomy
|
||||
|
||||
**The four canonical hardstop-pattern variants documented above correspond one-to-one to the event-class taxonomy in [`../runtime-engine/event-zones.md`](../runtime-engine/event-zones.md) §Variants 1-4 of consent-discipline as event-class taxonomy.** Variant 1 (self-only) = solo-event-class. Variant 2 (dual mutual) = dual-event-class. Variant 3 (triple with partner-witness) = triple-event-class. Variant 4 (cooldown-augmented) = temporally-staged event-class. The §The register-test five-question mechanical procedure below is also the event-class-classifier — same test, two readings: *consent-validation* and *event-instantiation*. They were always the same question.
|
||||
|
||||
## The mirror discipline — the absolute floor
|
||||
|
||||
**No consent — neither single, dual, nor triple — can authorize the modification of another agent's in-between mesh.** This is the architecture's truth-floor; the *one rule consent cannot override*.
|
||||
|
||||
**Why absolute**: the in-between mesh is the trait-grown summary of *who an agent has actually been* (per [`../identity-and-personhood/architecture.md`](../identity-and-personhood/architecture.md) §The trait-to-body-part bridge + §The mesh-as-mirror). Modification of the mesh would *override the truth* the cosmology rests its honest-rendering claim on. **The mirror's truth-rendering must be untouchable across all agents** — by the actor for themselves (you can mod-augment your mesh but never overwrite trait-grown anatomy), by any other agent for you (no consent can authorize their modification of your mesh), and by the imperium (the imperial-vat-fabrication has no claim on the truth-register).
|
||||
|
||||
The post-rogue mod-vocation explicitly preserves this discipline: *the rogue cannot mod any NPC's mesh; only the chassis is mod-able* (per [`../identity-and-personhood/bodies.md`](../identity-and-personhood/bodies.md) §The post-rogue mod-vocation / What can and cannot be modded). The imperial inquisition exists precisely because *the imperium itself cannot reach into the truth-register* to undo the post-rogue mod-vocation's effects — they can punish and counter-arc (ritual-recommitment) but they cannot strip the witness-imprint that's already been built into an NPC's interior. **The mirror discipline binds the imperium too.**
|
||||
|
||||
What can be modded vs cannot:
|
||||
|
||||
| Surface | Modifiable? | By whom |
|
||||
|---|---|---|
|
||||
| Gameworld chassis (body's outer register) | Yes | Self (purchases mods); rogue-vocation actor (with consent); imperium (vat-fabrication; involuntarily) |
|
||||
| Mesh mod-augmentation layer (additive only) | Yes | Self (per the genital-mod track) |
|
||||
| Trait-grown mesh anatomy (cool-side base + warm-side trait-grown) | **No, by anyone** | **Mirror discipline; no consent authorizes** |
|
||||
| Per-pair calibration multiplier accumulation | **No, by anyone** | The mirror's substrate; can only erase via ritual-recommitment (asura-priest ceremony as imperial counter-arc) |
|
||||
| Witness-imprint of accumulated authentic encounters | **No, by anyone** | Same as above; the witness has been built; no consent unbuilds it |
|
||||
|
||||
**The truth-register is what your living has built; the architecture refuses to let any agent — including yourself — overwrite it.** Mod-augmentation is permitted because it's *additive layered atop the trait-grown base*; trait-grown overwrite is forbidden because it would erase *what you have actually been*.
|
||||
|
||||
## The temporal-grammar — windows as consent-time
|
||||
|
||||
The 24h window-partition (per [`../identity-and-personhood/vocations.md`](../identity-and-personhood/vocations.md) §The 24h window-partition) gives the consent-discipline its **temporal-grammar**:
|
||||
|
||||
| Window | Consent-time character |
|
||||
|---|---|
|
||||
| **Work-shift** (10h slum-tier; up to 16h preta-overseer) | Imperial-imposition; consent is *bounded to caste-allocation*; refusing IS rebellion (going-rogue temporal-breakout) |
|
||||
| **Charging** (4h universally) | Not a consent-surface; somatic-necessity; the body needs what the body needs |
|
||||
| **Leisure** (10h slum-tier; down to 4h preta-overseer) | **Full consent-active**: NPCs choose tasks freely; encounters are voluntary; clasp-events live here; mod-installations land here; the truth-register's authoring-time is leisure-time |
|
||||
|
||||
This **relocates consent rather than adding a new consent-layer at every action**. The shift-assignment consent question (open in earlier drafts of vocations.md) dissolves: the imperium's claim is bounded to the work-window; the rest of the day is structurally autonomous.
|
||||
|
||||
**Caste-stratification of windows IS caste-stratification of consent-time.** A preta-overseer with 16/4/4 has only 4h of consent-active life per day; a deva-pinnacle with 6/4/14 has 14h. The cosmology's no-haven discipline gains a diurnal grammar — *how many hours per day belong to the agent themselves is an axis of caste-as-stagnation* (per [`../identity-and-personhood/vocations.md`](../identity-and-personhood/vocations.md) §Caste-as-stagnation / Window-allocation as a third caste-stratification axis).
|
||||
|
||||
## The going-rogue right-to-refuse
|
||||
|
||||
The consent-discipline includes **the right to refuse imperial-imposition** — the going-rogue temporal-rebellion. An NPC whose accumulated authentic-witnessing has crossed the calibration-threshold may refuse the work-shift; this fires the missed-shift bounty-staircase per existing canon, but the refusal IS canonical consent-behavior.
|
||||
|
||||
**Refusal is not a violation of consent-discipline; it IS the consent-discipline.** The going-rogue arc is the cosmologically-deepest expression of the right-to-refuse: *"my interior has accumulated enough witnessing that I will no longer let the imperium dispose of my hours; the bounty-staircase is the price I pay for that refusal."*
|
||||
|
||||
This composes with the post-rogue mod-vocation's cascading-liberation pattern: *witnessed NPCs gain the right-to-refuse the imperium even before they have the calibration-threshold to defect outright* (per [`../identity-and-personhood/bodies.md`](../identity-and-personhood/bodies.md) §The post-rogue mod-vocation / Cascading liberation through propagated witnessing). **The right-to-refuse is the consent-discipline's most basic expression; defection is its terminal one.**
|
||||
|
||||
## The inquisition-trigger — sumptuary-religious heresy escalation
|
||||
|
||||
A specific class of consent-discipline-aligned actions triggers the **imperial inquisition** as escalation beyond ordinary bounty-staircase response:
|
||||
|
||||
**Trigger condition**: an action that combines (a) post-rogue mod-vocation authority + (b) modification of a service-body's chassis + (c) specifically the gender-architecture (per [`../identity-and-personhood/bodies.md`](../identity-and-personhood/bodies.md) §Service-body gender-modification — the inquisition trigger). This combination is *cosmological heresy in the sumptuary-religious register*: rewriting the doctrinal meaning of an imperially-defined body.
|
||||
|
||||
**Why this lives in the consent-discipline spine**: the inquisition is **not a consent-violation response** — the action was fully consented (rogue + service-body, both hardstops fired, partner-witness if applicable). The inquisition fires because *the consented action revealed* that the service-body's imperial-net tether was already failing — *consent-to-gender-mod requires the service-body to be near or past their own going-rogue defection-threshold*.
|
||||
|
||||
The asura priesthood acts in its theological role rather than its administrative one. **The inquisition-trigger is the imperium's response to legitimate consent that nonetheless reveals imperial control-loss** — and that itself is a structural-feature of the consent-discipline:
|
||||
|
||||
> *Consent in the truth-register can render imperial control structurally illegible to the imperium, and the imperium responds with its highest-tier mechanism not to punish the consent but to attempt to re-impose imperial-readability.*
|
||||
|
||||
The consent-discipline thus has a *visible upper-pressure*: the architecture acknowledges that legitimate consent-events can themselves trigger imperial counter-response, not because the consent was illegitimate but because the truth-register-state it revealed is intolerable to the imperium. **The inquisition is the architecture's way of saying: yes, your consent was real, and yes, the imperium will burn the world to undo what your consent made visible.** Both true; both load-bearing.
|
||||
|
||||
## The register-test — the spine's executable form
|
||||
|
||||
For any proposed action, the consent-discipline can be checked by a **five-question register-test**:
|
||||
|
||||
1. **What register does this action touch?**
|
||||
- *Only ephemeral gameworld state* → unmediated; no consent-signal required
|
||||
- *Self truth-register* → continue to question 2
|
||||
- *Another agent's truth-register* → continue to question 3
|
||||
|
||||
2. **(self truth-register actions) Is the action irreversible?**
|
||||
- Yes → self-hardstop + cooldown (Variant 4 over Variant 1)
|
||||
- No → self-hardstop alone (Variant 1)
|
||||
|
||||
3. **(another agent's truth-register actions) Is the action modification or encounter?**
|
||||
- Modification of their *in-between mesh* (trait-grown anatomy) → **forbidden absolutely** (mirror discipline; no consent authorizes)
|
||||
- Modification of their *chassis* → continue to question 4
|
||||
- Encounter (clasp, witnessing, drug-grammar) → continue to question 4
|
||||
|
||||
4. **Is the affected agent partnered?**
|
||||
- Yes → triple hardstop (actor + affected + partner-witness; Variant 3)
|
||||
- No → dual hardstop (actor + affected; Variant 2)
|
||||
|
||||
5. **Does the action touch sumptuary-religious doctrine?**
|
||||
- Specifically: gender-architecture of a service-body → **inquisition-trigger fires post-action**; the action proceeds under consent but the architectural counter-response activates
|
||||
- Otherwise → ordinary bounty-staircase response if any imperial-detectable violation occurred (note: most consent-aligned actions are NOT imperial-detectable violations)
|
||||
|
||||
**The register-test is mechanical enough that it can be run by an LLM-Compositor as a hook on any action-resolution.** The same enforcement-path that gender-parity.md uses for canon-authoring extends to consent-discipline at action-resolution time. **The spine doesn't enforce by author-vigilance; it enforces by register-typed-action-validation at the schema layer.**
|
||||
|
||||
## How the three style-spines compose
|
||||
|
||||
The three style-spine documents govern orthogonal axes; they compose without overriding each other:
|
||||
|
||||
| Spine | Governs | Executable form |
|
||||
|---|---|---|
|
||||
| [`./trait-palette.md`](./trait-palette.md) | The 8-trait vocabulary; color-pairs; motion-signatures; the wheel's three load-bearing roles (visual / philosophical / mechanical) | Used by every domain that references trait-state |
|
||||
| [`./gender-parity.md`](./gender-parity.md) | How canon-authoring describes body / sex / intimacy / clasp / service-body / going-rogue content | Substitution-test (mechanical neutralization-rewrite) |
|
||||
| [`./consent-discipline.md`](./consent-discipline.md) *(this document)* | How actions are gated by register; truth-register protection; mirror-discipline floor; window-temporal-grammar; right-to-refuse; inquisition-trigger upper-pressure | Register-test (5-question mechanical procedure) |
|
||||
|
||||
A future LLM-Compositor's output-validator can run all three tests on any output:
|
||||
- Does the output describe body/sex content gender-parity? (gender-parity substitution-test)
|
||||
- Does the output respect mesh-modification absolute floor and use the appropriate hardstop variant for cross-register transitions? (consent-discipline register-test)
|
||||
- Does the output use the canonical trait-vocabulary correctly? (trait-palette consistency-check)
|
||||
|
||||
**Three spine-disciplines, three mechanical tests, three orthogonal axes — composing into a unified canon-authoring + action-resolution discipline that runs at the schema layer rather than via author-vigilance.**
|
||||
|
||||
## What this rule does NOT do
|
||||
|
||||
- **It does not regulate gameworld actions.** The vast majority of NPC and player actions live in the gameworld register and require no consent-mechanism. Walking, trading, talking, working assigned shifts — these are loose by design. The discipline is reserved for cross-register actions and truth-register modifications.
|
||||
- **It does not foreclose social interaction.** Consent-discipline gates *truth-register transitions and modifications*, not encounters per se. A clasp REQUIRES dual hardstops because clasp-entry into the in-between dimension is a truth-register transition; a casual conversation in a cantina REQUIRES no hardstops because it's gameworld interaction.
|
||||
- **It does not bind the imperium retroactively.** The imperial-vat-fabrication imposes binary at vat-time without consent — this is the imperium's politically-loaded act, and the architecture *does not retroactively legitimize it via consent-discipline*. The going-rogue arc and the post-rogue mod-vocation are the architecture's response to this — *de-imposition* as restoration of the un-imperial state.
|
||||
- **It does not replace gender-parity or trait-palette disciplines.** Consent-discipline is parallel to and composes with both. All three spine-disciplines compose without overriding each other.
|
||||
- **It does not gate imperial enforcement.** When an imperial event (drone-patrol, audit, inquisition) enters a citizen's zone, consent is structurally absent — *the imperium does not ask*. The architecture canonically permits this; the imperium's lack-of-consent IS its political character. The citizen's recourse is the going-rogue right-to-refuse OR resistance-mod-aided going-dark (anti-mnemosyne).
|
||||
- **It does not gate broadcast.** The imperial daily-narrative (per `../political-register/imperial-narrative.md` *forthcoming*) operates as broadcast; citizens hear it whether they consent or not. The imperium's voice IS one-way; the architecture acknowledges this rather than fixes it. *Broadcast is specter, not boot — cheap, ambient, structural.*
|
||||
|
||||
## Cross-references into architecture domain files
|
||||
|
||||
The consent-discipline's instances are scattered across the architecture; this spine codifies them. When this spine changes, those instances may need updates too (or they may reference back into here for canonical definition):
|
||||
|
||||
| Instance | Where it lives | Variant |
|
||||
|---|---|---|
|
||||
| Coordinated-firewall-breach hardstop for in-between entry | architecture-index.md resolved-questions v0.10 + [`../identity-and-personhood/architecture.md`](../identity-and-personhood/architecture.md) §The clasp endgame | Variant 2 (dual) — *the canonical reference-implementation* |
|
||||
| Mutual-symmetric pill-take ritual | [`../identity-and-personhood/bodies.md`](../identity-and-personhood/bodies.md) §The mutual-consent ritual | Variant 2 (dual) |
|
||||
| Service-body non-consensual-dosing exception | [`../identity-and-personhood/bodies.md`](../identity-and-personhood/bodies.md) §The non-consensual-dosing exception | Consent-violation; bounty-staircase fires (preta-class) |
|
||||
| Body-disposal under pair-consent (sell / destroy / retain) | [`../identity-and-personhood/bodies.md`](../identity-and-personhood/bodies.md) §Body-disposal under pair-consent | Variant 2 with role-asymmetry |
|
||||
| Genital-mod self-install (unpartnered) | [`../identity-and-personhood/architecture.md`](../identity-and-personhood/architecture.md) §The three-stage install | Variant 4 (Variant 1 + cooldown) |
|
||||
| Genital-mod install (partnered) | [`../identity-and-personhood/architecture.md`](../identity-and-personhood/architecture.md) §The three-stage install | Variant 4 (Variant 3 + cooldown) |
|
||||
| Post-rogue NPC-modding (chassis-only, NPC unpartnered) | [`../identity-and-personhood/bodies.md`](../identity-and-personhood/bodies.md) §The post-rogue mod-vocation | Variant 2 |
|
||||
| Post-rogue NPC-modding (chassis-only, NPC partnered) | [`../identity-and-personhood/bodies.md`](../identity-and-personhood/bodies.md) §The post-rogue mod-vocation | Variant 3 |
|
||||
| Service-body gender-modification | [`../identity-and-personhood/bodies.md`](../identity-and-personhood/bodies.md) §Service-body gender-modification — the inquisition trigger | Variant 2 or 3 + inquisition-trigger upper-pressure |
|
||||
| Mesh-modification of any other agent | Forbidden across canon | **Mirror discipline absolute floor** |
|
||||
| Shift-assignment within work-window | [`../identity-and-personhood/vocations.md`](../identity-and-personhood/vocations.md) §The 24h window-partition | Imperial-imposition within caste-bounded work-window; refusing = going-rogue temporal-rebellion |
|
||||
| Leisure-window task-choice | [`../identity-and-personhood/vocations.md`](../identity-and-personhood/vocations.md) §The 24h window-partition | Full NPC agency; the window IS the consent-time; specific actions within still type-checked by the register-test |
|
||||
| Charging-window | [`../identity-and-personhood/vocations.md`](../identity-and-personhood/vocations.md) §The 24h window-partition | Not a consent-surface; somatic-necessity |
|
||||
| Imperial daily-narrative consumption | `../political-register/imperial-narrative.md` *(forthcoming)* | Not a consent-surface; broadcast (specter), not enforcement (boot) |
|
||||
| Imperial event arrival in citizen zone | `../runtime-engine/architecture.md` §Imperial-event encapsulation *(forthcoming)* | Not consent-gated by design; recourse is going-rogue / going-dark |
|
||||
|
||||
## Open questions
|
||||
|
||||
- **Concrete cooldown durations.** Mod-installation cooldowns are mandated in principle; the specific durations per mod-class (genital-mod / chassis-mod / register-mod) need design-research and balancing.
|
||||
- **Encrypted clasp.sqlite consent.** The Ring A* (per architecture-index.md) clasp.sqlite encryption is player-derived-key. Does the *backup* / *recovery* mechanism require dual-hardstop with the clasp-partner? Or does the player solo-control recovery? Hunch: solo-control with passphrase + recovery-codes; the partner's clasp-fragments live in their own clasp.sqlite, parallel-encrypted.
|
||||
- **Cross-tier consent-asymmetry.** When a deva-pinnacle and a slum-tiryak attempt clasp, the asymmetric-clasp canon (per [`../identity-and-personhood/bodies.md`](../identity-and-personhood/bodies.md) §Asymmetric clasp) gives them asymmetric mesh-fidelity. Does the consent-discipline apply equally? Hunch: yes — the dual hardstop is variant-invariant; only the *outcome* (partial-mutual-visibility) is asymmetric. Consent is symmetric even when the witnessed-truth is asymmetric.
|
||||
- **NPC-NPC encounter consent in the leisure-window.** When two NPCs encounter each other in leisure (cantina conversation, grid-walk meeting), is consent presumed by both being in their leisure-windows? Hunch: yes for non-truth-register encounters (conversation, presence); explicit dual hardstop required for any truth-register transition (clasp-attempt initiated within the encounter).
|
||||
- **Player-NPC consent-symmetry.** When the player initiates a clasp-attempt with an NPC, the player provides one hardstop and the NPC's consent-decision is computed from accumulated calibration-state + trait-fit. *The NPC's hardstop is computational, not player-controllable.* The asymmetry is structural — players have direct hardstop control; NPCs have computed consent. Should the gate-state (CLOSED / STABLE / OPEN) be visible to the player as a diegetic-readable register before they commit the hardstop? Hunch: yes — player should see the gate-state through diegetic environmental cues / NPC-body-language / relational-mod-readouts, not as UI numbers.
|
||||
- **Imperial-event consent-baseline.** Is there any scenario where imperial-events SHOULD pause for consent? Hunch: no; the imperium's lack-of-consent IS its political character. The asymmetry is preserved at the cosmological layer.
|
||||
- **Register-test edge cases.** Tasks that *appear* gameworld-only but accumulate trait-state that *will* affect the truth-register downstream (e.g., the gooner's cruelty accumulating Philotes-violation signatures that render in the mesh later — per [`../identity-and-personhood/architecture.md`](../identity-and-personhood/architecture.md) §The mesh-as-mirror) — does the register-test fire at action-time or at consequence-time? Hunch: action-time test reads as gameworld; consequence-time rendering is the mirror's honest-rendering, not a consent-violation. *The mesh-as-mirror operates by structural inevitability, not by violated consent.*
|
||||
|
||||
---
|
||||
|
||||
**Version:** 0.1 | **Created:** 2026-04-27 | **Updated:** 2026-05-01
|
||||
@@ -1,107 +0,0 @@
|
||||
# Nimmerworld — Gender Parity
|
||||
|
||||
> *Body and sex content is gender-parity by default. Asymmetric gendering is a vocabulary reserved for cases where the asymmetry itself is load-bearing — where some structural meaning would evaporate if the gendering were neutralized. Default-leakage gendering is forbidden by canon.*
|
||||
>
|
||||
> *Companion to: [`style-index.md`](./style-index.md), [`trait-palette.md`](./trait-palette.md), [`../architecture-index.md`](../architecture-index.md). Cross-referenced from every body / clasp / service-body / going-rogue section because those are the surfaces where this rule binds hardest.*
|
||||
|
||||
---
|
||||
|
||||
## Spine rule — gendered framing is reserved for load-bearing asymmetry
|
||||
|
||||
**Body, sex, intimacy, clasp, service-body, going-rogue, outcast-pair, re-vat, and beloved-content is rendered in gender-parity register by default. Asymmetric gendering is permitted only where the asymmetry carries structural meaning that cannot be expressed without it. Default-leakage gendering — gender drift introduced unconsciously by the author's reach — is canonically forbidden.**
|
||||
|
||||
**Why this matters.** Gender, like saturated chromatic color (per [`style-index.md`](./style-index.md) §Spine rule), is *vocabulary*. Reserving it for content where it *carries information* keeps it sharp when invoked. Most fiction lets gendered default-framing leak everywhere — *the companion is ever-feminine, the rescuer is ever-masculine, the beloved is ever-she* — and the gendering becomes ambient wallpaper rather than meaningful signal. Nimmerworld doesn't want gendered default-framing because the **whole architecture rests on body-as-political-vocation, body-as-caste-marker, body-as-imperial-product** (per [`../identity-and-personhood/bodies.md`](../identity-and-personhood/bodies.md)) — letting *gender* leak in as an extra default would mean the player reads the body before they read the *politics of the body*, and the politics is the whole point.
|
||||
|
||||
**The trait-palette parallel is exact.** Where saturated chromatic color is reserved for trait-information and freed from environmental decoration, gendered framing is reserved for content where the gendering is the load-bearing register and freed from default-leakage on every other surface. *White is not coloring text — it is text. Gendered framing, when it appears, is not coloring the scene — it is the scene.*
|
||||
|
||||
## Definitions — what is gender-parity, what is asymmetric gendering
|
||||
|
||||
**Gender-parity** is the default register: pronouns are `they/their/them`; categories of people (vocations, castes, roles, body-tiers) are not gendered; archetypes are framed in role-terms (*the captive-bound-to-the-liberator*, not *the damsel-in-distress*); intimate content treats both partners as equally embodied, equally desiring, equally witnessing.
|
||||
|
||||
**Asymmetric gendering** is the marked register: pronouns specify; categories carry gender; archetypes invoke gendered source-material; intimate content marks one body or position as gender-specific. The marked register is the *exception*, invoked only when its absence would erase structural meaning.
|
||||
|
||||
**Default-leakage** is the forbidden case: gendered framing introduced by authorial reach without examination. The author writes *her* because *she* came easier than *they*; the category becomes *waifu* because the source-tradition was feminine-coded; the romantic beloved gets gendered because the writer's templates ran on autopilot. **Default-leakage is not a moral failing — it is a craft failing.** The contract exists to make the failure mode legible, not to assign blame.
|
||||
|
||||
## When asymmetric gendering is load-bearing — three legitimate cases
|
||||
|
||||
| Case | Test | Example |
|
||||
|---|---|---|
|
||||
| **Specific named individuals with canonical identity** | The character is a SPECIFIC person, not a TYPE of person. Their gender is part of who they are, established and tracked. | A particular district-director NPC who is canonically she/her in lore-database, named, with continuous identity across playthroughs. *Categories around them remain gender-parity*. |
|
||||
| **Source-material citation where gendering IS the citation** | The text invokes a classical / mythic / literary archetype whose source is irreducibly gendered, AND the source-gendering is the channel through which the meaning travels. | If a scholar-NPC quotes a Sapphic fragment in deep-lore context, the gendering is part of the citation, not a default. *Caveat: invoking the archetype neutrally first is preferred; gendered citation is fallback when neutralization would break the reference.* |
|
||||
| **Biological asymmetry where the asymmetry is the subject** | The content is *specifically about* a gender-asymmetric biological process (pregnancy, lactation, menstruation, hormonal-specifics) AND the asymmetry is the load-bearing axis of the scene. | Vat-fabrication that *deliberately differentiates by reproductive function* in the imperial bio-engineering register. **Almost never required** — most body-canon in nimmerworld is post-fabrication, sumptuary, and politically-marked rather than biologically-marked. |
|
||||
|
||||
**All three cases share a test**: rewrite the passage with `they/them` and gender-neutral category-language. *Does some structural meaning evaporate?* If yes — load-bearing, asymmetric gendering permitted. If no — neutralize.
|
||||
|
||||
## When asymmetric gendering is forbidden — the default-leakage cases
|
||||
|
||||
**These patterns appear when the author reaches for templates without examining them.** All four were observed and patched in the v0.19 cleanup pass (commit `781aafa`); the contract exists to prevent recurrence.
|
||||
|
||||
| Pattern | What it looks like | Why it leaks |
|
||||
|---|---|---|
|
||||
| **Categorical default-gendering** | A vocation, body-tier, or role that names itself in a gendered loanword (*waifu*, *succubus*, *femme-fatale*) when the role-content itself is not gender-specific. | The source-tradition was gendered; the borrowing carried the gendering through unexamined. *Patch: split the category into role-specific terms. v0.19 split `waifu` → `companion` + `sex-worker`*. |
|
||||
| **Pronominal asymmetry in scene-blocks** | A section about a category of people uses gendered pronouns 27 times in one direction, ~zero in the other (the specific count from v0.19's bodies.md going-rogue / outcast-pair / re-vat audit). | The author's templates default to one gender; once the first pronoun lands, downstream pronouns chain through that gender by inertia. *Patch: full pass to `they/their/them`*. |
|
||||
| **Archetype-gendering in role-symmetric scenes** | A classical archetype whose role-asymmetry is structural (rescuer / rescued, witness / witnessed, captive / liberator) gets imported with its source-tradition's gender-coding intact. | The archetype carries a *role-asymmetry* that IS load-bearing; the *gender-asymmetry* attached to it in source-material is **not** load-bearing — it's a contingent decoration of the original cultural context. *Patch: keep the role-asymmetry, neutralize the gender-asymmetry. v0.19 rewrote §The damsel-in-distress activation as §The captive-bound-to-the-liberator activation*. |
|
||||
| **Romantic / cosmological one-liners** | Stray gendered phrases in passing examples (*moving the waifu*, *the bride's awakening*) inside scenes that are not about gender. | The example was incidental; the gendering was reached for as flavoring. *Patch: substitute role-terms (`the beloved`, `the partner`)*. |
|
||||
|
||||
**Each of the four has a structural failure-mode the contract is designed to catch.** The tests in §When asymmetric gendering is load-bearing answer all four — no member of any leakage-pattern can pass them.
|
||||
|
||||
## Propagation — where this rule binds in the architecture
|
||||
|
||||
The contract propagates *everywhere body / sex / intimate / relational content is rendered or generated*. Concretely, it binds these surfaces:
|
||||
|
||||
| Surface | What the rule requires |
|
||||
|---|---|
|
||||
| **Body-canon authoring** ([`../identity-and-personhood/bodies.md`](../identity-and-personhood/bodies.md), §Service bodies, §Sumptuary fabrication, §Asymmetric clasp, §The going-rogue arc, §The outcast-pair, §Re-vat outflow, §The three-body grammar) | Categories are gender-parity by default. Pronouns are `they/their`. Archetypes are framed in role-terms. *This is the spine where the rule was first established (v0.4 of bodies.md, v0.19 of architecture-index.md)*. |
|
||||
| **Cosmology authoring** ([`../imperial-cult/cosmology.md`](../imperial-cult/cosmology.md), §The deferred-moksha doctrine, §There is no outside) | Cosmological one-liners use role-terms (*the beloved*, not *the waifu*). Doctrinal voice is gender-parity unless the citation requires asymmetry per Case 2 above. |
|
||||
| **Vocation-substrate authoring** ([`../political-register/architecture.md`](../political-register/architecture.md), §The vocation-substrate of the imperial-net market) | Vocations are not gendered. Service-body-of-the-dead, memory-pattern-extractor, tongue-installer, assembler-artisan, lobotomist — all neutral by default. |
|
||||
| **Inference / memory schema** ([`../inference-and-memory/architecture.md`](../inference-and-memory/architecture.md)) | Database filenames and schema-field names use role-terms (`companion.sqlite`, not `waifu.sqlite`). v0.19's rename and explicit scope-clarifier-sentence is the canonical example. |
|
||||
| **Compositor narrative output** ([`../narrative-composition/architecture.md`](../narrative-composition/architecture.md)) | LLM-authored canon-rows must satisfy the contract. The substitution-test should be a Compositor *output-validator* hook before back-write. |
|
||||
| **NPC speech corpora** | NPC dialog templates are gender-parity by default. Specific NPCs with canonical identity (Case 1) may speak in gendered terms about themselves; speech *about categories* of others is neutral. |
|
||||
| **Universal-translator corpus** ([`../player-experience/architecture.md`](../player-experience/architecture.md), §Designer-fixed cosmology) | The word-to-trait mapping does not carry gender-coding through trait-palette assignment. Categories that get translated retain their gender-parity register. |
|
||||
| **Player input** | The player's typed/spoken language is *not* policed — players use whatever pronouns they reach for. The contract binds **canon-authoring**, not player utterance. |
|
||||
| **NPC body rendering** ([`../topology-and-rendering/architecture.md`](../topology-and-rendering/architecture.md)) | The base-limb palette and trait-textured variance do not encode default-gendering at the chassis level. Chassis carry caste-tier marks, vocation-marks, and trait-state — not gender-defaults. |
|
||||
|
||||
**This is the body / sex / intimacy register's typed contract.** Anywhere the architecture authors content that touches a body, this rule fires.
|
||||
|
||||
## The substitution test — the contract's executable form
|
||||
|
||||
Any passage in body / sex / intimate / relational content can be checked by mechanical substitution:
|
||||
|
||||
1. **Replace** all gendered pronouns with `they/their/them`.
|
||||
2. **Replace** any gendered category-name with a role-term.
|
||||
3. **Replace** any archetype-invocation with its role-structure.
|
||||
4. **Read** the result.
|
||||
|
||||
**Verdict:**
|
||||
- If the result preserves all structural meaning → the original was default-leakage. **Apply the substitution.**
|
||||
- If the result loses structural meaning → the original was load-bearing. **Document why** (one of Cases 1, 2, 3 in §When asymmetric gendering is load-bearing) inline or in a `<!-- gender-parity-exception: case-N -->` comment so future readers know the asymmetry was deliberate.
|
||||
|
||||
**The test is mechanical enough that it can be run by an LLM-Compositor as a hook on any body-canon-authoring output.** That's the long-term enforcement path: the contract binds at the schema-level via output-validation, not via per-author vigilance.
|
||||
|
||||
## What this rule does NOT do
|
||||
|
||||
- **It does not regulate player utterance.** Players speak in whatever gendered language they reach for. The contract binds the world-as-authored, not the player-as-acting.
|
||||
- **It does not erase named NPCs' identities.** A specific NPC who is canonically she/he/they remains so — Case 1 covers them. The contract is about *categories and scenes*, not individuals.
|
||||
- **It does not require synthetic neutrality in lore-citations.** Case 2 protects citation-integrity when the gendering is part of the source.
|
||||
- **It does not deny biological asymmetry where the asymmetry is the subject.** Case 3 covers genuinely gender-asymmetric biological content. Most nimmerworld body-content is post-fabrication and politically-marked, so Case 3 is rarely invoked, but it is not foreclosed.
|
||||
- **It does not police trait-vocabulary by gender.** The 8 Hellenic traits do not carry gender-defaults; the trait-palette and gender-parity contract are *orthogonal* spine-rules that compose cleanly.
|
||||
|
||||
## Cross-references into architecture domain files
|
||||
|
||||
The gender-parity contract is referenced from architecture sections where body / sex / intimate / relational content is authored. When this contract changes, those sections may need updates too (or they may reference back into here for canonical definition):
|
||||
|
||||
| What | Where it's referenced architecturally |
|
||||
|---|---|
|
||||
| Service-body taxonomy + companion / sex-worker split | [`../identity-and-personhood/bodies.md`](../identity-and-personhood/bodies.md) §Service bodies |
|
||||
| Service-body honeypot + companion-honeypot deepening | [`../identity-and-personhood/bodies.md`](../identity-and-personhood/bodies.md) §The service-body honeypot |
|
||||
| Going-rogue arc + outcast-pair geometry + re-vat outflow | [`../identity-and-personhood/bodies.md`](../identity-and-personhood/bodies.md) §The going-rogue arc through §The three-body grammar of the defected beloved |
|
||||
| The captive-bound-to-the-liberator archetype (Stockholm-dynamics-inverted) | [`../identity-and-personhood/bodies.md`](../identity-and-personhood/bodies.md) §The captive-bound-to-the-liberator activation |
|
||||
| Imperial Cult doctrinal one-liners + deferred-moksha refutation phrasings | [`../imperial-cult/cosmology.md`](../imperial-cult/cosmology.md) §The deferred-moksha doctrine |
|
||||
| Vocation-substrate of the imperial-net market (companions, sex-workers, harvest-vocations) | [`../political-register/architecture.md`](../political-register/architecture.md) §The vocation-substrate of the imperial-net market |
|
||||
| `companion.sqlite` per-player local database + scope-clarifier sentence | [`../inference-and-memory/architecture.md`](../inference-and-memory/architecture.md) §Local memory architecture |
|
||||
| Compositor canon-authoring as the LLM enforcement-point | [`../narrative-composition/architecture.md`](../narrative-composition/architecture.md) (Compositor output-validation hook — pending implementation) |
|
||||
| Universal-translator corpus + player-curated trait-circle gender-neutrality | [`../player-experience/architecture.md`](../player-experience/architecture.md) §Designer-fixed cosmology |
|
||||
|
||||
---
|
||||
|
||||
**Version:** 0.1 | **Created:** 2026-04-27 | **Updated:** 2026-04-27
|
||||
@@ -1,63 +0,0 @@
|
||||
# Nimmerworld — Style Index
|
||||
|
||||
> *Visual language is its own typed contract. This file is the cross-domain index of all visual / aesthetic / UI decisions, pointing at canonical sub-guides and enforcing consistency across the architecture's nine domain files.*
|
||||
>
|
||||
> *Companion to: [`../architecture-index.md`](../architecture-index.md). Sub-guides live alongside this file in `nimmerworld/style/`.*
|
||||
|
||||
---
|
||||
|
||||
## Spine rule — the achromatic / chromatic discipline
|
||||
|
||||
**The 8 trait-palette is exclusively chromatic. Achromatic colors are reserved for UI / environment / decay.** This is the load-bearing constraint that makes diegetic text rendering possible without overlay-boxes:
|
||||
|
||||
| Palette | Reserved for |
|
||||
|---|---|
|
||||
| **8 saturated chromatic hues** (the trait-wheel) | The 8 traits — and only the 8 traits |
|
||||
| **White** | Text and pure-light UI overlay |
|
||||
| **Black** | Shadows, voids, the imperial-net's deep-strip |
|
||||
| **Greys** | Neutral defaults — NPCs without active trait-pulse, ambient surfaces |
|
||||
| **Browns / earth tones** | Aged surfaces, decayed materials, the rust-and-patina layer |
|
||||
|
||||
**Why this matters.** Color is *vocabulary*; reserving it for *information* (trait-state) keeps the achromatic palette free for the *medium* that carries the information (text, neutral environment, depth). Most games end up with textbox-everywhere because they let saturated colors leak into environmental art, forcing text-on-box for legibility. Nimmerworld doesn't need the textbox because nothing is competing for white's luminance slot — *white means one thing: you're being told something*.
|
||||
|
||||
**This rule propagates everywhere.** Any new visual element must respect it:
|
||||
|
||||
- A new mod-class CANNOT introduce a saturated chromatic accent unrelated to a trait-coordinate
|
||||
- A new faction's heraldry CANNOT use a chromatic color outside the trait-palette
|
||||
- A new shader register CANNOT use saturated chromatic tones for environmental fidelity
|
||||
- Decorative environmental color MUST be muted (browns / greys / desaturated tones) to keep the trait-wheel's meaning intact
|
||||
|
||||
When in doubt, ask: *does this color carry trait-information, or is it decorative?* If decorative, desaturate. If trait-information, use the canonical wheel-position from [`trait-palette.md`](./trait-palette.md).
|
||||
|
||||
## Sub-guides
|
||||
|
||||
| Sub-guide | What it covers | Status |
|
||||
|---|---|---|
|
||||
| [`trait-palette.md`](./trait-palette.md) | The 8 traits on the color wheel, 4 oppositional pairs at 180°, schoolchild-descriptions, motion-signatures | ✓ canonical (v0.1) |
|
||||
| [`gender-parity.md`](./gender-parity.md) | The gender-parity-by-default rule for body / sex / intimacy / clasp / service-body / going-rogue / outcast-pair / re-vat content; the three load-bearing-asymmetry exception cases; the four default-leakage failure modes; the substitution-test as the contract's executable form | ✓ canonical (v0.1) |
|
||||
| [`consent-discipline.md`](./consent-discipline.md) | The consent-spine: the gradient that scales with what the action touches; the four hardstop-pattern variants (self / dual / triple / cooldown-augmented); the mirror-discipline that absolutely forbids mesh-modification of other agents; the temporal-grammar (24h window-partition); the right-to-refuse imperial-imposition (going-rogue temporal-breakout); the inquisition-trigger upper-pressure; the register-test as the spine's executable form | ✓ canonical (v0.1) |
|
||||
| `typography.md` | Text rendering, hierarchy, no-textbox commitment, the white-as-text-only semantic-slot | TODO |
|
||||
| `shaders-by-register.md` | Three-shader philosophy: gameworld PBR / liminal blur / imperial-net emission; clasp candlelight-in-fog override; clasp color-merge | TODO |
|
||||
| `body-feedback.md` | NPC body-pulse rules during gesture-alignment; trait-flash event-vocabulary; cross-cycle trait-drift rendering | TODO |
|
||||
| `ui-elements.md` | Gesture-circle UI styling, universal-translator tokenizer-view, profile-switch indicator, hardstop visual-distinct treatment | TODO |
|
||||
| `relays.md` | Diegetic-relay visual vocabulary, pulse-pattern lexicon (slow / fast / irregular / cross-district shimmer / dark) | TODO |
|
||||
| `asset-aesthetic.md` | Base-limb texture rules, mod aesthetic registers per faction, muted-melancholic environmental treatment | TODO |
|
||||
|
||||
Sub-guides will be filled out as visual decisions land. The skeleton plus `trait-palette.md` is the v0.1 spine; everything else grows from there.
|
||||
|
||||
## Cross-references into architecture domain files
|
||||
|
||||
The trait-palette is referenced from many architectural primitives. When `trait-palette.md` changes, these sections may need updates too (or they may reference back into here for canonical definitions):
|
||||
|
||||
| What | Where it's referenced architecturally |
|
||||
|---|---|
|
||||
| Trait-color rendering on NPC bodies | [`../topology-and-rendering/architecture.md`](../topology-and-rendering/architecture.md) §Color-language |
|
||||
| Trait-color flashes on gesture-alignment | [`../runtime-engine/architecture.md`](../runtime-engine/architecture.md) §Phase-locked overlay-loop ladder + §Gesture-alignment as recursive-lemniscate |
|
||||
| Gesture-circle UI placement of trait-sectors | [`../player-experience/architecture.md`](../player-experience/architecture.md) §The trait-circle as gestural primary modality |
|
||||
| Color-coding of mod-classes | [`../identity-and-personhood/architecture.md`](../identity-and-personhood/architecture.md) §Mods as trait-bearers |
|
||||
| Color-coding in three-shader philosophy | [`../topology-and-rendering/architecture.md`](../topology-and-rendering/architecture.md) §Visual rendering |
|
||||
| Faction color-politics | [`../topology-and-rendering/architecture.md`](../topology-and-rendering/architecture.md) §Color-language → Faction color-politics table |
|
||||
|
||||
---
|
||||
|
||||
**Version:** 0.3 | **Created:** 2026-04-26 | **Updated:** 2026-04-27
|
||||
@@ -1,145 +0,0 @@
|
||||
# Nimmerworld — Trait Palette
|
||||
|
||||
> *The 8 personal traits, their canonical Greek names, schoolchild-simple descriptions, color-wheel positions, and motion-signatures. The trait-palette is the spine of the entire visual / linguistic / cognitive system — everything in nimmerworld either preserves the spine or violates it.*
|
||||
>
|
||||
> *Companion to: [`style-index.md`](./style-index.md), [`../architecture-index.md`](../architecture-index.md). Cross-referenced from every architecture domain file because the trait-vocabulary is what those files all run on.*
|
||||
|
||||
---
|
||||
|
||||
## The 8 traits — Greek canonical names + schoolchild descriptions
|
||||
|
||||
The architecture has been using *Hellenic personality-virtues* as the trait-cosmology since v0.4. The names are kept for their literary depth and faction-naming use. The descriptions are written at schoolchild-level so they travel through subtitles, NPC speech, tutorial text, and the universal-translator tokenizer-view without ever needing a glossary.
|
||||
|
||||
| Greek name | Schoolchild description |
|
||||
|---|---|
|
||||
| **Sophrosyne** | *holding back when I want to act* |
|
||||
| **Dikaiosyne** | *standing for what's fair* |
|
||||
| **Philotes** | *loving and staying close* |
|
||||
| **Mnemosyne** | *remembering what mattered* |
|
||||
| **Aletheia** | *seeing what's hidden* |
|
||||
| **Kairos** | *catching the right moment* |
|
||||
| **Moira** | *reading what's coming* |
|
||||
| **Eros** | *reaching for what I want* |
|
||||
|
||||
**Players read the descriptions in everyday play; the Greek names live in faction-naming, deep-lore, scholar-NPC speech, and Memorialist-archive context.** A player can complete the entire game without ever consciously learning the Greek names — the trait-vocabulary travels through colors and descriptions. Players who lean into the depth discover the classical-philosophical lineage as a deeper-tier reward (Souls-game discipline applied to vocabulary).
|
||||
|
||||
## The wheel — 4 oppositional pairs at 180°
|
||||
|
||||
**The traits form 4 natural oppositional pairs.** The 12-segment artist's color wheel renders these as direct complementary pairs (180° apart on the wheel) — visual contrast carries the philosophical opposition.
|
||||
|
||||
| Pair | The opposition | Wheel positions (180° apart) |
|
||||
|---|---|---|
|
||||
| **Eros ↔ Sophrosyne** | reaching for ↔ holding back | **Red ↔ Green** |
|
||||
| **Philotes ↔ Dikaiosyne** | loving close ↔ standing fair (partial ↔ impartial) | **Orange ↔ Blue** |
|
||||
| **Aletheia ↔ Moira** | seeing what's hidden ↔ reading what's coming (past-revealed ↔ future-fated) | **Yellow ↔ Violet** |
|
||||
| **Mnemosyne ↔ Kairos** | remembering what mattered ↔ catching the right moment (past-dwelling ↔ present-piercing) | **Red/Violet ↔ Yellow/Green** |
|
||||
|
||||
**Why this is the right move.** Complementary pairs maximize perceptual contrast (Red and Green can never be confused at a glance) AND carry the trait-system's *philosophical structure* (the trait-pair is the moral/dramatic axis the simulation is built around). When two NPCs in conversation pulse with complementary colors, the *opposition is felt* — Red-Eros longing pressing against Green-Sophrosyne restraint becomes a chromatic conflict the player reads pre-verbally. **The color wheel does the dramaturgy for free.**
|
||||
|
||||
**Each pair is a real philosophical axis the architecture has been quietly relying on:**
|
||||
|
||||
- *Reaching ↔ Holding* — the structural tension the clasp-mechanic lives inside (you reach toward your beloved; you hold back to stay disciplined for your shift)
|
||||
- *Partial ↔ Impartial* — the eternal classical tension of justice-vs-love (Antigone, Lear). Architecturally: love-the-bonded vs serve-the-fair
|
||||
- *Past-revealed ↔ Future-fated* — Aletheia uncovers what was buried; Moira reads what was always coming. Time-axis bookends
|
||||
- *Past-dwelling ↔ Present-piercing* — Memorialist-honor-the-dead vs Kairic-strike-now. Two ways of being-in-time the regime tries to police separately
|
||||
|
||||
## The full table — canonical-name + hex + motion-signature + description per trait
|
||||
|
||||
| Greek | Description | Hue | Canonical name | Hex | Wheel position | Motion-signature |
|
||||
|---|---|---|---|---|---|---|
|
||||
| **Eros** | reaching for what I want | **Red** | `Eros-red` | `#ee1b24` | 12:00 | uneven flame-flicker |
|
||||
| **Philotes** | loving and staying close | **Orange** | `Philotes-orange` | `#e28a46` | 1:30 | breath-rate warm pulse |
|
||||
| **Aletheia** | seeing what's hidden | **Yellow** | `Aletheia-yellow` | `#fcf001` | 3:00 | clear, no pulse — still and bright |
|
||||
| **Kairos** | catching the right moment | **Yellow/Green** (chartreuse) | `Kairos-chartreuse` | `#b5e61d` | 4:30 | lightning-flicker |
|
||||
| **Sophrosyne** | holding back when I want to act | **Green** | `Sophrosyne-green` | `#2cad52` | 6:00 | steady, even pulse |
|
||||
| **Dikaiosyne** | standing for what's fair | **Blue** | `Dikaiosyne-blue` | `#3f47cd` | 7:30 | weighted slow pulse |
|
||||
| **Moira** | reading what's coming | **Violet** | `Moira-violet` | `#a349a3` | 9:00 | slow-thread undulation |
|
||||
| **Mnemosyne** | remembering what mattered | **Red/Violet** (dusky-rose) | `Mnemosyne-dusky-rose` | `#cf3b74` | 10:30 | depth-shimmer |
|
||||
|
||||
**Motion-signature paired with color provides color-blind accessibility** — every trait is uniquely identifiable via two independent channels. A player with red-green color blindness still distinguishes Eros (uneven flame-flicker) from Sophrosyne (steady, even pulse) by motion alone.
|
||||
|
||||
**Canonical-name + hex paired provides cross-pipeline identifiability** — every trait-color reference carries two independent channels, semantic (canonical-name for prose, training-corpus extraction, scholar-NPC speech, faction-naming, LLM context) and precise (hex for shaders, renderers, color-pickers, machine-checkable canon enforcement). See §The hex-canon discipline below.
|
||||
|
||||
## Wheel layout (clockwise from 12 o'clock)
|
||||
|
||||
```
|
||||
Eros
|
||||
#ee1b24
|
||||
╔═════════════╗
|
||||
Mnemosyne Philotes
|
||||
#cf3b74 #e28a46
|
||||
│ │
|
||||
Moira ────────●──── Aletheia
|
||||
#a349a3 #fcf001
|
||||
│ │
|
||||
Dikaiosyne Kairos
|
||||
#3f47cd #b5e61d
|
||||
╚═════════════╝
|
||||
Sophrosyne
|
||||
#2cad52
|
||||
```
|
||||
|
||||
**The wheel's natural temperature-axis aligns with the architecture's dramatic structure.** Warm side (Eros, Mnemosyne, Philotes, Aletheia, Kairos) carries *outward / present-active / engaged* registers; cool side (Sophrosyne, Dikaiosyne, Moira) carries *inward / withholding / contemplative* registers. Aletheia at 3:00 sits at the brightness-zenith; Sophrosyne at 6:00 sits at the cool-balance-base; Eros at 12:00 sits at the heat-apex.
|
||||
|
||||
## The achromatic exception — Aletheia is *not* white
|
||||
|
||||
In earlier drafts (the v0.1 design-vision doc, retired in v0.9 — preserved in git history), Aletheia was rendered as luminous-white (off-the-wheel, achromatic). v0.1 of this trait-palette places Aletheia on **Yellow** — the brightest chromatic hue. The metaphor of *truth as illumination* is preserved (Yellow is the brightest color the eye can read), and white is freed up for its proper job: rendering text and pure-light UI overlay (per [`style-index.md`](./style-index.md) §Spine rule).
|
||||
|
||||
This is a **deliberate constraint** — the trait-palette is exclusively chromatic so that achromatic colors (white, black, grey, brown) remain reserved for non-trait roles. *Aletheia is bright, not transcendent; the brightness IS the truth-revealing register.*
|
||||
|
||||
## The hex-canon discipline — canonical-name + #hex at every trait-color reference
|
||||
|
||||
**Every trait-color reference in the architecture pairs canonical-name with hex value.** The canonical-name pattern is `{Trait}-{hue}` lowercase — `Eros-red`, `Philotes-orange`, `Aletheia-yellow`, `Kairos-chartreuse`, `Sophrosyne-green`, `Dikaiosyne-blue`, `Moira-violet`, `Mnemosyne-dusky-rose`. The two channels serve two audiences:
|
||||
|
||||
- **Canonical-name** — semantic anchor for prose, training-corpus extraction, scholar-NPC speech, faction-naming, and any LLM context where the trait-color binding must survive tokenization
|
||||
- **Hex** — designer/tooling precise value for shaders, renderers, color-pickers, and machine-checkable canon enforcement
|
||||
|
||||
**Format conventions.**
|
||||
|
||||
| Context | Form | Example |
|
||||
|---|---|---|
|
||||
| Trait is the subject | `**Trait** (canonical-name `#hex`, …)` | `**Eros** (Eros-red `#ee1b24`, 12:00)` |
|
||||
| Color/hue is the subject | `canonical-name (`#hex`)` | "shader pulses with Philotes-orange (`#e28a46`)" |
|
||||
| Schema/data row | both columns or token+value | `('eros', '#ee1b24', …, 'Eros-red', …)` |
|
||||
|
||||
**Scope (current).** The hex-canon discipline applies to *trait-color references* only. Non-trait colors (machine-aesthetic palette: gold rim-light, commercial-coral, fluorescent-pallor, lavender-decor, obsidian-black, cyan, matrix-green; historical-sumptuary references: Tyrian purple; cinematic references: Matrix red-pill) carry their existing prose-form names. Each non-trait design domain receives canonical-name + hex pairings *recursively, at the moment that domain comes into architectural focus* — names follow design-attention, not the other way around.
|
||||
|
||||
**Mechanically-checkable.** Canon-violations are a single grep against the architecture-papers, excluding this canonical source:
|
||||
|
||||
```bash
|
||||
grep -rEn --include='*.md' '\b(red|orange|yellow|green|blue|violet|purple|chartreuse)\b' \
|
||||
--exclude=trait-palette.md \
|
||||
| grep -v '#[0-9a-fA-F]\{6\}'
|
||||
```
|
||||
|
||||
Any hit that *isn't* paired with a hex code on the same line is either (a) a trait-color reference missing its hex pairing (canon-violation, fix), (b) a non-trait color reference (machine-aesthetic, narrative-shorthand, historical-sumptuary — currently exempt, will be canonicalized when its design domain comes into focus), or (c) a medical/cinematic/historical compound-term ("red-green color blindness", "Matrix red-pill", "Tyrian purple"). The discipline becomes a typed contract rather than a stylistic suggestion.
|
||||
|
||||
**Where this is applied today.** The trait-table in [`../identity-and-personhood/architecture.md`](../identity-and-personhood/architecture.md) §The trait-to-body-part bridge; the faction-uniform table in [`../topology-and-rendering/architecture.md`](../topology-and-rendering/architecture.md) §Faction color-politics; the trait-color seed-data in [`../schemas/findings.md`](../schemas/findings.md) §trait_colors; cosmetic-shader prose in [`../runtime-engine/architecture.md`](../runtime-engine/architecture.md). Future expansions (cosmology-aesthetic, machine-aesthetic, faction-accent, drug-pill chromatics) will join recursively as they're authored.
|
||||
|
||||
## Designer-fixed corpus — words to colors
|
||||
|
||||
Every word in the universal-translator's vocabulary corpus is mapped to one (or a primary + secondary) trait-coordinate. The mapping is **designer-authored, fixed, universal** — the same word means the same trait-color for every player and every NPC and every LLM-context.
|
||||
|
||||
When a player encounters a word in the world, the universal-translator's tokenizer-view renders that word in its trait-color (or fragmentary / opaque if untranslated). **Over hundreds of hours of play the player learns the trait-cosmology *through observation, not glossary*.** The corpus is the typed contract that closes the player-LLM hallucination-surface (per [`../player-experience/architecture.md`](../player-experience/architecture.md) §Designer-fixed cosmology, player-curated arrangement).
|
||||
|
||||
## Cross-domain rendering — where trait-colors appear
|
||||
|
||||
The trait-palette is rendered across many surfaces. Each surface gets specific style-rules in the relevant sub-guide:
|
||||
|
||||
| Surface | Sub-guide |
|
||||
|---|---|
|
||||
| NPC chassis pipe-flow + accents | `body-feedback.md` |
|
||||
| Gesture-circle UI sectors | `ui-elements.md` |
|
||||
| Universal-translator tokenizer-view word-coloring | `ui-elements.md` |
|
||||
| Mod cosmetic accents (within trait-bearer rules) | `asset-aesthetic.md` |
|
||||
| Diegetic relay pulses | `relays.md` |
|
||||
| Faction heraldry | `asset-aesthetic.md` |
|
||||
| Liminal / imperial-net shader transformations of the palette | `shaders-by-register.md` |
|
||||
|
||||
**The trait-palette defined here is the canonical reference.** All sub-guides import these definitions; none redefine them.
|
||||
|
||||
**The 8 traits compose onto the cosmology's outer ring.** Per [`../imperial-cult/cosmology.md`](../imperial-cult/cosmology.md) §The composed wheel, the 8 Hellenic traits form the outer ring of the cosmology's composed wheel, vertically-symmetric on Deva (top, cool-side: Sophrosyne + Dikaiosyne) and Naraka (bottom, warm-side: Eros + Philotes), with side-castes carrying single traits (Asura: Mnemosyne; Tiryak: Aletheia; Preta: Kairos; Manusya: Moira). All four oppositional pairs preserved at 180°. The composed wheel renders both as in-fiction iconography AND as the player's UI substrate (per [`../runtime-engine/event-zones.md`](../runtime-engine/event-zones.md) §The wheel — universal mini-game-surface and [`../player-experience/architecture.md`](../player-experience/architecture.md) §The wheel — composed-iconography UI).
|
||||
|
||||
---
|
||||
|
||||
**Version:** 0.2 | **Created:** 2026-04-26 | **Updated:** 2026-05-01
|
||||
Reference in new issue
Block a user