hex-canon discipline: canonical-name + #hex at every trait-color reference

Establish the hex-canon discipline in style/trait-palette.md (v0.1 -> 0.2):
every trait-color reference pairs canonical-name (semantic anchor for prose,
training-corpus extraction, LLM context) with hex (precise value for shaders,
renderers, machine-checkable canon enforcement). Mirrors the existing
color+motion-signature two-channel discipline that already secures color-blind
accessibility -- same architectural move, different audience pair.

Trait-palette.md gains:
- "Canonical name" + "Hex" columns in The full table (Eros-red #ee1b24,
  Philotes-orange #e28a46, ..., Mnemosyne-dusky-rose #cf3b74)
- New section: The hex-canon discipline -- format conventions, scope, the
  one-line grep that surfaces canon-violations

Sweep applies the discipline to existing trait-color references:
- identity-and-personhood/architecture.md (trait-to-body-part bridge table)
- topology-and-rendering/architecture.md (faction-color-politics table,
  imperial-net distortion descriptors, achromatic-exception statement,
  mind-pool color-inheritance narrative)
- runtime-engine/architecture.md (cosmetic-shader prose feedback)
- identity-and-personhood/bodies.md (Moira-violet pill in pending-design notes)
- political-register/economics.md (catalogue-slug example uses canonical token)

Drift-fix: schemas/findings.md trait_colors seed-data carried 8 divergent hex
"approximations" -- Eros #D03030 vs canonical #ee1b24, Aletheia #E5C520 vs
canonical #fcf001 (losing the brightness-zenith register), Dikaiosyne #2860B0
vs canonical #3f47cd, etc. Replaced with exact propagation from the canonical
palette; the rationalizing comment ("approximate hue-family targets") is
replaced with "exact propagation per the hex-canon discipline"; HSV-hue column
recomputed from canonical hex per RGB->HSV conversion, integer-rounded.

Non-trait colors stay untouched per recursive-as-we-touch-it scope: machine-
aesthetic (gold rim-light, commercial-coral, fluorescent-pallor, lavender-
decor, obsidian-black, cyan, matrix-green), historical-sumptuary (Tyrian
purple), cinematic (Matrix red-pill), medical (red-green color blindness).
Each non-trait domain receives canonical-name + hex pairings when that domain
comes into architectural focus.

Discipline is mechanically-checkable via one grep against the architecture-
papers, excluding the canonical source. Zero canon-violations remain after
this sweep.
This commit is contained in:
chrysalis
2026-04-28 03:32:02 +02:00
parent ecb5080379
commit 7f0abcb839
7 changed files with 84 additions and 51 deletions

View File

@@ -89,7 +89,7 @@ The architecture-relevant claims this document needs from the palette:
- **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).
- **Achromatic colors (white, black, grey, brown) are reserved for non-trait roles** — text, pure-light UI overlay, neutral backgrounds. *Aletheia is Aletheia-yellow (`#fcf001`), 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
@@ -103,18 +103,18 @@ The architecture-relevant claims this document needs from the palette:
|---|---|
| **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-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.) |
| **Imperial net** | Cel-shaded with **gold rim-light outlines** + **clean white backgrounds** + **no weathering**; trait-colors *distorted* toward machine-preferred palette — Philotes-orange (`#e28a46`) flattens to commercial-coral; Aletheia-yellow (`#fcf001`) sterilizes to fluorescent-pallor; Moira-violet (`#a349a3`) 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. The machine-aesthetic distortion-targets — commercial-coral, fluorescent-pallor, lavender-decor — will receive canonical-name + hex pairings recursively per trait-palette.md §The hex-canon discipline §Scope.) |
### Faction color-politics
| Faction | Color signature |
|---|---|
| **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) |
| **Memorialists** | Mnemosyne-dusky-rose (`#cf3b74`) ritual dress; Moira-violet (`#a349a3`) accents; often inherited-from-deceased |
| **Aletheia-wakers** | Aletheia-yellow (`#fcf001`) plain avatars; coded Aletheia-yellow flashes for recognition |
| **Caste-preachers** | Dikaiosyne-blue (`#3f47cd`) vestments + Sophrosyne-green (`#2cad52`) undertones |
| **Hivemind enforcers** | Cold Dikaiosyne-blue (`#3f47cd`) + muted Aletheia-yellow (`#fcf001`, Aletheia-stolen) |
| **Scavengers** | Moira-violet (`#a349a3`) + Kairos-chartreuse (`#b5e61d`) streaks |
| **Clasp-underground** | Dual Philotes-orange (`#e28a46`) + Eros-red (`#ee1b24`) flashes (mutual-recognition signal) |
| **Degens** | Saturated maximalist all-color (chaos palette, addiction-marker) |
### Clasp color-merge
@@ -123,7 +123,7 @@ In shared liminal-construct, two clasping inhabitants' color-signatures *interac
### Mind-pool color-inheritance
When a mind cycles through the pool and is redistributed into a new body, trait-vector persists → color-signature persists. **A player who befriended rose-and-violet-Jakov might see weeks later a new NPC with that same rose-and-violet-signature and feel a jolt of recognition before any dialog.** Color carries soul across cycles. Memorialist political claim: *this person's color should not be recycled by the machine into a service-body* — because color IS who they were.
When a mind cycles through the pool and is redistributed into a new body, trait-vector persists → color-signature persists. **A player who befriended Mnemosyne-and-Moira-toned Jakov might see weeks later a new NPC with that same Mnemosyne-and-Moira signature and feel a jolt of recognition before any dialog.** Color carries soul across cycles. Memorialist political claim: *this person's color should not be recycled by the machine into a service-body* — because color IS who they were.
## Asset economy: base-limb palette + trait-textured variance
@@ -188,4 +188,4 @@ Players navigate the rings *by ear and eye*, not by reading a UI. The privacy-co
---
**Version:** 0.8.0 | **Created:** 2026-04-26 | **Updated:** 2026-04-27 | **Origin:** Split from architecture-index.md v0.7 (2026-04-26); cel-shading-everywhere + per-register parameter variation locked v0.17 (2026-04-26)
**Version:** 0.8.0 | **Created:** 2026-04-26 | **Updated:** 2026-04-28 | **Origin:** Split from architecture-index.md v0.7 (2026-04-26); cel-shading-everywhere + per-register parameter variation locked v0.17 (2026-04-26)