diff --git a/architecture-index.md b/architecture-index.md index 02909c5..e68eb3d 100644 --- a/architecture-index.md +++ b/architecture-index.md @@ -279,7 +279,7 @@ The remainder of this file holds the **cross-domain meta-lists**: Key moves (con - **GM's anti-imperial corruption detection mechanic** — *partial*: GM-as-equilibrium-seeker (v0.6) makes deviation-from-equilibrium the explicit error signal; clusters of -1 outcomes feed equilibrium-recompute and trigger catalogue-event dispatch to push back. A dedicated audit-vector for *which kind* of laxness/corruption is the source of the equilibrium-deviation is still an open detail. **(Sharpened v0.15:** cell-checksum-divergence is now a candidate audit-vector — corruption could surface as patterns of *authorized-vs-actual cell-state divergence* in a director's territory, per the cell-arch's heresy-detection mechanism in [`political-register/world-generation.md`](./political-register/world-generation.md) §L4 + §Open questions / cell-mutation write-permissions.**)** - **Memorialist-archive accessibility to the player** (refined v0.10) — *via diegetic workstations* — memorialist-archive terminals (faction-controlled, hidden in Memorialist-faction territory; per the diegetic-console workstation pattern from `style/style-index.md` + `political-register/architecture.md` §Worked example — the waifu-modder imperial-workstation, applied to the Memorialist context). Specific terminal-types + permission-mechanisms + UI for querying the four-ledgers pending faction-authoring. **(Sharpened v0.15:** cell-checksum-divergence is now candidate source-data for the archive — Memorialists could index unauthorized cell-states (heretical wheels carved in stepwell-walls, un-synced relics) by querying checksum-divergence-records. Doesn't solve UI/permissions but gives the archive concrete *content* to query.**)** - **Imperial-net distortion algorithm** — how exactly the net rewrites trait-colors toward consumer-palette -- **Trait-axis mapping per fuzzy-goal-class** (v0.5) — which axis (Sophrosyne / Philotes / Eris / etc.) evaluates which goal-class? Need a designer-authored compile-table from goal-shapes to trait-axes +- **Trait-axis mapping per fuzzy-goal-class** (v0.5) — which axis (Sophrosyne / Philotes / Eros / etc.) evaluates which goal-class? Need a designer-authored compile-table from goal-shapes to trait-axes - **Rings-of-importance movement criteria** (v0.5) — explicit thresholds (N consecutive +1 → climb) or Dream-process-learned policy? - **Rings-of-importance scope** (v0.5) — district-local rings, or imperium-global? Probably both, layered (district rings nested inside imperium rings) - **Symmetric-vs-polyphonic loops** (v0.5) — Loop A and Loop B treated identically (simpler), or carry foreground/background semantics (foreground-speaker / listening-co-presence — gives audience-dynamics for free)? diff --git a/runtime-engine/architecture.md b/runtime-engine/architecture.md index 1fc3393..273dcb4 100644 --- a/runtime-engine/architecture.md +++ b/runtime-engine/architecture.md @@ -98,7 +98,7 @@ The player-gesture overlay (above) is the broadcast-channel by which player gest **Two latencies, one architecture:** -- *Cosmetic visual feedback runs continuously.* NPC body-shader pulses warm-rose when the player gestures Philotes, cool-blue when they gesture Sophrosyne — purely visual, doesn't touch the system bus. The player gets moment-by-moment "I see you" reassurance. +- *Cosmetic visual feedback runs continuously.* NPC body-shader pulses warm-orange when the player gestures Philotes, green when they gesture Sophrosyne (per [`../style/trait-palette.md`](../style/trait-palette.md) §The full table) — purely visual, doesn't touch the system bus. The player gets moment-by-moment "I see you" reassurance. - *Systemic alignment-update runs at axis-cadence.* The trait-vector summary is computed at the crossing and fed into the next turn's LLM context. The player is **one turn behind** — their gestures during turn N inform the LLM's generation for turn N+1. **One-turn-behind matches real conversation cadence.** Humans accumulate impressions during someone's speech and respond to *what was just said*; we don't react gesture-by-gesture. The lemniscate-bound integration is the *right* cadence for affective state-changes, not a latency-cost. diff --git a/schemas/findings.md b/schemas/findings.md index 822292f..554d9a0 100644 --- a/schemas/findings.md +++ b/schemas/findings.md @@ -458,18 +458,23 @@ CREATE TABLE trait_colors ( narrative_note TEXT ); --- Populated via designer artistic decision; values below are placeholders +-- Hex values are approximate hue-family targets; canonical color-names + wheel-positions +-- per ../style/trait-palette.md §The full table. Per the import-don't-redefine discipline, +-- this seed-data is a *reification* of the palette into RGB for renderer-consumers, NOT a +-- redefinition. If trait-palette.md changes a hue-family, this seed-data follows. INSERT INTO trait_colors VALUES - ('sophrosyne', '#4A7C9E', 216, 'steady', 'Sophrosyne-blue', 'cool, composed, measured'), - ('dikaiosyne', '#B8860B', 42, 'weighted_pulse', 'Dikaiosyne-gold', 'grave, weighty, judicial'), - ('philotes', '#E8848C', 355, 'warm_pulse', 'Philotes-rose', 'attachment, embrace-ready'), - ('mnemosyne', '#6B4E9C', 266, 'depth_shimmer', 'Mnemosyne-violet', 'memory-lit, twilight'), - ('aletheia', '#F0EEEB', 30, 'luminous', 'Aletheia-white', 'unconcealed, bright'), - ('kairos', '#F5D540', 50, 'lightning_flicker', 'Kairos-yellow', 'opportune, sparking'), - ('moira', '#7A2323', 0, 'slow_thread', 'Moira-crimson', 'fate-thread, bound'), - ('eros', '#E05030', 10, 'flame_flicker', 'Eros-orange', 'reaching, flushed'); + ('eros', '#D03030', 0, 'flame_flicker', 'Eros-red', 'reaching, flame-flicker'), + ('philotes', '#E0802C', 28, 'warm_pulse', 'Philotes-orange', 'attachment, warm-pulse'), + ('aletheia', '#E5C520', 50, 'luminous', 'Aletheia-yellow', 'unconcealed, bright (Aletheia is yellow, NOT white — see ../style/trait-palette.md §The achromatic exception)'), + ('kairos', '#90C530', 80, 'lightning_flicker', 'Kairos-chartreuse', 'opportune, lightning-spark (yellow-green at 4:30 on the wheel)'), + ('sophrosyne', '#30A050', 138, 'steady', 'Sophrosyne-green', 'composed, measured, even-pulse'), + ('dikaiosyne', '#2860B0', 215, 'weighted_pulse', 'Dikaiosyne-blue', 'judicial, weighted, grave'), + ('moira', '#6020A0', 270, 'slow_thread', 'Moira-violet', 'fate-thread, slow-undulation'), + ('mnemosyne', '#A04060', 340, 'depth_shimmer', 'Mnemosyne-dusky-rose', 'memory-lit, twilight (red/violet at 10:30 on the wheel)'); ``` +**Canonical authority:** [`../style/trait-palette.md`](../style/trait-palette.md) is the single source of truth for the trait-color spine. The hex values above are renderer-consumable approximations of the canonical hue-families specified there; designer-precise hex values should be authored upstream in `style/trait-palette.md` and propagated down to this seed-data. Row order matches the wheel clockwise from 12 o'clock (Eros at 12 → Mnemosyne at 10:30). + Color paired with motion-signature ensures color-blind accessibility — each trait uniquely identifiable via two independent channels. --- diff --git a/topology-and-rendering/architecture.md b/topology-and-rendering/architecture.md index 5087bd4..3cb4c19 100644 --- a/topology-and-rendering/architecture.md +++ b/topology-and-rendering/architecture.md @@ -64,20 +64,13 @@ Color is **pre-verbal vocabulary**. Players learn the 8-Hellenic-trait ontology ### The eight Hellenic traits → canonical colors -(Final color choices are dafit's artistic call; the architecture encodes the mapping.) +The canonical color + wheel-position + motion-signature mapping per trait is authored in [`../style/trait-palette.md`](../style/trait-palette.md) §The full table — color + motion-signature + description per trait, with oppositional-pair structure detailed in §The wheel — 4 oppositional pairs at 180°. **Per the import-don't-redefine discipline** (per [`../style/trait-palette.md`](../style/trait-palette.md) §Cross-domain rendering: *"All sub-guides import these definitions; none redefine them."*), this document does **not** restate the table. -| Trait | Canonical color (suggested) | Motion-signature (accessibility pairing) | -|---|---|---| -| **Sophrosyne** (self-control, moderation) | Cool blue | steady, even pulse | -| **Dikaiosyne** (justice, bearing) | Deep gold | weighted slow pulse | -| **Philotes** (attachment, love) | Warm rose | breath-rate warm pulse | -| **Mnemosyne** (memory) | Deep violet | depth-shimmer | -| **Aletheia** (truth, unconcealment) | Luminous white | clear, no pulse — still and bright | -| **Kairos** (right-timing, opportunity) | Bright yellow | lightning-flicker | -| **Moira** (fate, pattern) | Dark crimson | slow-thread undulation | -| **Eros** (longing, reaching) | Flame orange | uneven flame-flicker | +The architecture-relevant claims this document needs from the palette: -Color paired with motion-signature ensures color-blind accessibility — the trait is uniquely identifiable via two independent channels. +- **Every trait has a canonical hue paired with a motion-signature** (color-blind accessibility 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). +- **The 4 oppositional pairs sit at 180° on the wheel** (Eros↔Sophrosyne, Philotes↔Dikaiosyne, Aletheia↔Moira, Mnemosyne↔Kairos) — perceptual contrast carries philosophical opposition; *the color wheel does the dramaturgy for free*. +- **Achromatic colors (white, black, grey, brown) are reserved for non-trait roles** — text, pure-light UI overlay, neutral backgrounds. *Aletheia is yellow, not white* (the brightest chromatic hue carries the truth-as-illumination metaphor while keeping white free for its UI/text job; the v0.1-design-vision *Aletheia-as-luminous-white* pattern is **retired**, preserved in git history per the trait-palette.md §The achromatic exception). ### Three layers of color-rendering @@ -91,18 +84,18 @@ Color paired with motion-signature ensures color-blind accessibility — the tra |---|---| | **Gameworld** | Cel-shaded flat-color regions; trait-colors *more* legible (flat-color regions don't fight per-NPC trait-color modulation; pulses read clean against the comic-book base) | | **Liminal** | Vague baseline shader; **progression-gated visibility** (grainy-restricted-view at low witness-progression opening to clean refined-cel-shading at endgame); trait-colors *more* legible (vagueness concentrates attention on identity-signals; consent-as-rendering manifests real-skin-warm-cel-shading in the clasp-mesh per `../identity-and-personhood/bodies.md` §The in-between human-mesh) | -| **Imperial net** | Cel-shaded with **gold rim-light outlines** + **clean white backgrounds** + **no weathering**; trait-colors *distorted* toward machine-preferred palette — Philotes-rose flattens to commercial-pink; Aletheia-white sterilizes; Moira-crimson commercializes. *Aletheia-vision* in net pierces this distortion to reveal true colors beneath | +| **Imperial net** | Cel-shaded with **gold rim-light outlines** + **clean white backgrounds** + **no weathering**; trait-colors *distorted* toward machine-preferred palette — Philotes-orange flattens to commercial-coral; Aletheia-yellow sterilizes to fluorescent-pallor; Moira-violet commercializes to lavender-decor. *Aletheia-vision* in net pierces this distortion to reveal true colors beneath. (Note: the imperial-net's *clean white backgrounds* + *gold rim-light* are achromatic-and-cosmology palette choices — white as non-trait UI per the achromatic-exception, gold as imperial-cult-aesthetic per [`../imperial-cult/cosmology.md`](../imperial-cult/cosmology.md) §The aesthetic palette — distinct from the trait-color register being distorted.) | ### Faction color-politics | Faction | Color signature | |---|---| -| **Memorialists** | Mnemosyne-violet ritual dress; Moira-crimson accents; often inherited-from-deceased | -| **Aletheia-wakers** | Aletheia-white plain avatars; coded-white flashes for recognition | -| **Caste-preachers** | Dikaiosyne-gold vestments + Sophrosyne-blue undertones | -| **Hivemind enforcers** | Cold Dikaiosyne-gold + muted-white (Aletheia-stolen) | -| **Scavengers** | Moira-crimson + Kairos-yellow streaks | -| **Clasp-underground** | Dual Philotes-rose + Eros-orange flashes (mutual-recognition signal) | +| **Memorialists** | Mnemosyne-dusky-rose ritual dress; Moira-violet accents; often inherited-from-deceased | +| **Aletheia-wakers** | Aletheia-yellow plain avatars; coded-yellow flashes for recognition | +| **Caste-preachers** | Dikaiosyne-blue vestments + Sophrosyne-green undertones | +| **Hivemind enforcers** | Cold Dikaiosyne-blue + muted-yellow (Aletheia-stolen) | +| **Scavengers** | Moira-violet + Kairos-chartreuse streaks | +| **Clasp-underground** | Dual Philotes-orange + Eros-red flashes (mutual-recognition signal) | | **Degens** | Saturated maximalist all-color (chaos palette, addiction-marker) | ### Clasp color-merge