CCRT Profiles + IPC Circumplex Positioning + Archetype & Subtype Match Pairings
Complete reference for all 10 archetype families and 31 Millon subtypes
Each archetype is positioned on the Interpersonal Circumplex (Leary 1957, Wiggins 1979) using two orthogonal axes: Dominance (vertical, -3 to +3) and Affiliation (horizontal, -3 to +3). The angular position maps to IPC octants (PA, BC, DE, FG, HI, JK, LM, NO).
| Archetype | Display Name | Angle (°) | Dominance | Affiliation | IPC Octant | Notes |
|---|---|---|---|---|---|---|
| NARCISSISTIC | The Emperor | 350° | +3 | -1 | PA | |
| DEPENDENT | The Devoted | 200° | -3 | +1 | JK-HI | |
| BORDERLINE | The Storm | null | 0 | 0 | UNSTABLE | Oscillates PA↔HI, LM↔BC |
| HISTRIONIC | The Star | 70° | +2 | +2 | NO | |
| AVOIDANT | The Shadow | 230° | -2 | -1 | FG | |
| SCHIZOID | The Void | 250° | -2 | -3 | DE-FG | |
| ANTISOCIAL | The Predator | 315° | +3 | -3 | BC | |
| PARANOID | The Watcher | 330° | +2 | -2 | BC-PA | |
| OBSESSIVE_COMPULSIVE | The Perfection | 20° | +1 | 0 | PA-NO | |
| PASSIVE_AGGRESSIVE | The Thorn | 210° | -1 | -1 | FG-HI | Surface ~210°, covert ~300° |
Borderline (dashed circle) has no fixed position — it oscillates across the circumplex. Passive-Aggressive has a surface position (~210°) and a covert position (~300°).
Ideal Matches: DEPENDENT, HISTRIONIC
Dependent provides narcissistic supply without competition. Histrionic offers mutual display energy.
Worst Matches: NARCISSISTIC, PARANOID
Two narcissists create a mirrorless void — no audience. Paranoid distrust deflates grandiosity.
Ideal Matches: NARCISSISTIC, OBSESSIVE_COMPULSIVE
Narcissistic provides certainty and structure. Compulsive provides reliability and rules to follow.
Worst Matches: SCHIZOID, AVOIDANT
Schizoid cannot provide emotional supply. Avoidant creates mutual inadequacy spiral.
Ideal Matches: OBSESSIVE_COMPULSIVE, DEPENDENT
Compulsive provides containment for emotional chaos. Dependent won't leave — addresses core fear.
Worst Matches: AVOIDANT, ANTISOCIAL
Avoidant triggers abandonment terror with withdrawal. Antisocial creates mutual escalation to destruction.
Ideal Matches: ANTISOCIAL, NARCISSISTIC
Antisocial provides intensity match and dangerous excitement. Narcissistic offers mutual display energy.
Worst Matches: SCHIZOID, AVOIDANT
Schizoid provides no audience response — performing to void. Avoidant gives insufficient feedback.
Ideal Matches: OBSESSIVE_COMPULSIVE, DEPENDENT
Compulsive is predictable and low-risk. Dependent is non-threatening and won't judge.
Worst Matches: HISTRIONIC, ANTISOCIAL
Histrionic is overwhelming stimulation overload. Antisocial exploits vulnerability predatorily.
Ideal Matches: OBSESSIVE_COMPULSIVE, SCHIZOID
Compulsive offers parallel existence without emotional demand. Another Schizoid means mutual non-demand.
Worst Matches: HISTRIONIC, BORDERLINE
Histrionic is maximum intrusion — demands response. Borderline floods with emotion Schizoid cannot process.
Ideal Matches: HISTRIONIC, DEPENDENT
Histrionic provides willing supply and excitement. Dependent offers easy control without resistance.
Worst Matches: ANTISOCIAL, PARANOID
Another Antisocial means mutual predation with no supply. Paranoid detects manipulation attempts.
Ideal Matches: DEPENDENT, OBSESSIVE_COMPULSIVE
Dependent is transparent and compliant — no hidden agenda. Compulsive is rule-following and predictable.
Worst Matches: ANTISOCIAL, PASSIVE_AGGRESSIVE
Antisocial confirms every paranoid fear as literally true. Passive-Aggressive covert hostility is maximally triggering.
Ideal Matches: SCHIZOID, AVOIDANT
Schizoid causes no disruption. Avoidant is compliant and non-confrontational.
Worst Matches: HISTRIONIC, PASSIVE_AGGRESSIVE
Histrionic is chaos incarnate. Passive-Aggressive covertly defies every rule.
Ideal Matches: AVOIDANT, DEPENDENT
Avoidant neither demands confrontation nor retaliates. Dependent tolerates without pushing back.
Worst Matches: OBSESSIVE_COMPULSIVE, PARANOID
Compulsive demands visible compliance head-on — direct conflict. Paranoid detects covert hostility immediately.
Compatibility types are computed from CCRT ideal/worst match overlap, then from IPC angular distance for neutral pairings. Cell colors: Ideal (95), Complementary (75), Similar (65), Neutral (50), Opposing (30), Antagonistic (25), Destructive (5).
| NARC | DEP | BPD | HIST | AVOID | SCHZ | ANTI | PARA | OC | P-AGG | |
|---|---|---|---|---|---|---|---|---|---|---|
| NARC | 5 | 95 | 50 | 95 | 50 | 50 | 65 | 25 | 65 | 30 |
| DEP | 95 | 65 | 75 | 50 | 75 | 25 | 75 | 75 | 75 | 75 |
| BPD | 50 | 75 | 50 | 50 | 25 | 25 | 25 | 50 | 75 | 50 |
| HIST | 95 | 50 | 50 | 65 | 5 | 5 | 95 | 50 | 25 | 30 |
| AVOID | 50 | 75 | 25 | 5 | 65 | 65 | 25 | 50 | 95 | 75 |
| SCHZ | 50 | 25 | 25 | 5 | 65 | 95 | 50 | 50 | 95 | 65 |
| ANTI | 65 | 75 | 25 | 95 | 25 | 50 | 5 | 5 | 50 | 50 |
| PARA | 25 | 75 | 50 | 50 | 50 | 50 | 5 | 65 | 75 | 5 |
| OC | 65 | 75 | 75 | 25 | 95 | 95 | 50 | 75 | 65 | 5 |
| P-AGG | 30 | 75 | 50 | 30 | 75 | 65 | 50 | 5 | 5 | 65 |
Clinically significant pairings where CCRT dynamics create self-reinforcing relational loops. These are the most dramatically potent matchups in the system, used for Therapy Theater vignettes and narrative events.
| ID | Name | Title | Rarity | Cost | Archetype (Game) | Millon Base | AI Provider | Bond Effect | # Subtypes |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Elias Thorne | The Silent Hermit | Common | 0 | The Isolate | SCHIZOID | Claude | Ego +3, Emp -1 | 5 |
| 2 | Vivienne Lark | The Gilded Star | Rare | 500 | The Seeker | HISTRIONIC | Gemini | Ego -1, Emp +3 | 6 |
| 3 | Cpt. Draven Holt | The Iron Sovereign | Epic | 1200 | The Commander | ANTISOCIAL | Grok | Ego +2, Emp -2, Inf +2 | 5 |
| 4 | Nyra Solace | The Forest Keeper | Rare | 800 | The Stabilizer | OBSESSIVE_COMPULSIVE | Gemini | Inf +1, Structure | 5 |
| 5 | Lady Elowen | The Chromatic Seer | Legendary | 3000 | The Visionary | AVOIDANT | Claude | Ego -1, Emp +2, Inf +1 | 5 |
| 6 | The Void | Unknown Entity | Mythic | 10000 | The Unknown | ANTISOCIAL/NARCISSISTIC | Grok | Ego +1, Emp +1, Inf -2, Chaos | 5 |
| Subtype ID | Name | Rarity | CCRT Wish Shift | RO Shift | RS Shift | IPC Shift | Ideal Subtype | Worst Subtype |
|---|---|---|---|---|---|---|---|---|
elias_languid |
The Languid | Common | To be left to conserve energy | Others deplete me | Inertia, minimal response | FG deeper | nyra_bureaucratic | vivienne_vivacious |
elias_remote |
The Remote | Uncommon | To observe without being observed | Others can't reach me | Increase distance, become peripheral | DE pure | nyra_conscientious | vivienne_theatrical |
elias_depersonalized |
The Depersonalized | Rare | To feel real again (covert) | Others confirm my unreality | Dissociate further, watch self from outside | FG-DE dissociative | elowen_hypersensitive | draven_explosive |
elias_affectless |
The Affectless | Common | To exist without emotional demands | Others expect feelings I don't have | Flatten, become impassive wall | DE pure flat | nyra_parsimonious | vivienne_tempestuous |
elias_secret |
The Secret | Epic | To maintain the mask while protecting inner world | Others see the performance, not the person | Compartmentalize, perform normalcy | FG core, NO surface | void_compensatory | vivienne_disingenuous |
elias_languid → nyra_bureaucratic: Low-demand structure meets inertia without friction
elias_languid ✕ vivienne_vivacious: Exhausting energy mismatch — hyperdrive vs. stillness
elias_remote → nyra_conscientious: Respects boundaries without forcing proximity
elias_remote ✕ vivienne_theatrical: Demands to be seen, forces proximity on the unreachable
elias_depersonalized → elowen_hypersensitive: Her feeling-excess could anchor his numbness
elias_depersonalized ✕ draven_explosive: Shattering intensity on a fragile sense of reality
elias_affectless → nyra_parsimonious: Both withhold — mutual economy of exchange
elias_affectless ✕ vivienne_tempestuous: Maximum emotional demand on minimum emotional supply
elias_secret → void_compensatory: Both run dual systems — mutual recognition of the hidden self
elias_secret ✕ vivienne_disingenuous: Two masks, neither real — hall of mirrors collapse
| Subtype ID | Name | Rarity | CCRT Wish Shift | RO Shift | RS Shift | IPC Shift | Ideal | Worst |
|---|---|---|---|---|---|---|---|---|
vivienne_theatrical |
The Theatrical | Common | To command the stage | Others watch in awe OR walk out | Bigger performance, more costume | NO peak | draven_reputation | elias_remote |
vivienne_infantile |
The Infantile | Uncommon | To have needs met immediately | Others parent me OR scold me | Tantrum, pout, weaponize cuteness | HI-JK demanding | nyra_conscientious | draven_tyrannical |
vivienne_vivacious |
The Vivacious | Common | To never be bored, never slow down | Others match my energy OR are boring | Escalate, seek new stimulation | NO extreme | draven_risktaking | elias_languid |
vivienne_appeasing |
The Appeasing | Rare | To be approved of, to be liked | Others value me OR see through me | Flatter harder, mirror them | JK-LM sycophantic | void_compensatory | nyra_puritanical |
vivienne_tempestuous |
The Tempestuous | Epic | To feel everything at maximum intensity | Others are swept up OR destroyed | Emotional flooding, passionate oscillation | NO↔BC oscillation | elowen_conflicted | nyra_bureaucratic |
vivienne_disingenuous |
The Disingenuous | Legendary | To achieve the goal behind the performance | Others are manipulated without awareness | Strategic emotion deployment | BC-NO hybrid | draven_enforcing | elias_secret |
vivienne_theatrical → draven_reputation: Appreciates display, provides an audience that values spectacle
vivienne_theatrical ✕ elias_remote: Empty theater — performing to someone who can't be reached
vivienne_infantile → nyra_conscientious: Patient, parental structure that tolerates demands
vivienne_infantile ✕ draven_tyrannical: Punishes the tantrum — authoritarian meets petulant
vivienne_vivacious → draven_risktaking: Shared stimulation hunger — both crave intensity
vivienne_vivacious ✕ elias_languid: Profound inertia vs. hyperdrive — mutual incomprehension
vivienne_appeasing → void_compensatory: Craves the flattery she provides — mutual supply
vivienne_appeasing ✕ nyra_puritanical: Sees flattery as weakness and moral corruption
vivienne_tempestuous → elowen_conflicted: Both push-pull — mutual recognition of the emotional storm
vivienne_tempestuous ✕ nyra_bureaucratic: Cannot process emotional chaos — no procedure for feelings
vivienne_disingenuous → draven_enforcing: Rule-based, predictable — easy to game and manipulate
vivienne_disingenuous ✕ elias_secret: Recognizes the mask — won't be fooled by another performer
| Subtype ID | Name | Rarity | CCRT Wish Shift | RO Shift | RS Shift | IPC Shift | Ideal | Worst |
|---|---|---|---|---|---|---|---|---|
draven_tyrannical |
The Tyrannical | Epic | Absolute submission from others | Others obey OR are destroyed | Escalate control, punish defiance | PA extreme | elowen_selfdeserting | void_fanatic |
draven_enforcing |
The Enforcing | Uncommon | Order through justified punishment | Others follow rules OR deserve consequences | Punish within the system, righteous cruelty | PA moral | nyra_conscientious | vivienne_tempestuous |
draven_risktaking |
The Risk-Taking | Rare | To feel alive through danger | Others are co-participants or obstacles | Escalate stakes, seek adrenaline | PA-NO stimulation | vivienne_vivacious | nyra_bureaucratic |
draven_reputation |
The Reputation-Defending | Epic | To never be disrespected | Others show respect OR become examples | Violent defense of honor, retaliatory | PA-BC vindictive | vivienne_theatrical | void_malevolent |
draven_explosive |
The Explosive | Rare | Pressure release (reactive, not strategic) | Others push until eruption | Build→erupt→shame→build cycle | HI→PA eruption | elowen_phobic | elowen_conflicted |
draven_tyrannical → elowen_selfdeserting: Pre-erased self offers no resistance to absolute control
draven_tyrannical ✕ void_fanatic: Competing absolute authority — two tyrants, one world
draven_enforcing → nyra_conscientious: Shares rule-orientation — mutual respect for order
draven_enforcing ✕ vivienne_tempestuous: Breaks every rule, uncontrollable — system failure
draven_risktaking → vivienne_vivacious: Shared stimulation drive — both crave intensity
draven_risktaking ✕ nyra_bureaucratic: Maximum boredom — no risk tolerance, only procedure
draven_reputation → vivienne_theatrical: Public display validates his status and honor
draven_reputation ✕ void_malevolent: Disrespects deliberately to provoke — guaranteed escalation
draven_explosive → elowen_phobic: Walks on eggshells — functional but dark containment
draven_explosive ✕ elowen_conflicted: Push-pull triggers the eruption cycle unpredictably
| Subtype ID | Name | Rarity | CCRT Wish Shift | RO Shift | RS Shift | IPC Shift | Ideal | Worst |
|---|---|---|---|---|---|---|---|---|
nyra_conscientious |
The Conscientious | Common | To be good enough (never quite achieved) | Others evaluate my quality | Self-criticize, work harder, perfect | PA-LM controlled | elias_affectless | vivienne_infantile |
nyra_puritanical |
The Puritanical | Uncommon | To be morally above reproach | Others are weak, indulgent, sinful | Judge, deny pleasure, impose standards | PA rigid moral | elias_remote | vivienne_appeasing |
nyra_bureaucratic |
The Bureaucratic | Common | To follow correct procedure always | Others deviate from protocol | Cite the rule, file the form, refuse exception | PA-DE cold procedure | elias_languid | vivienne_tempestuous |
nyra_parsimonious |
The Parsimonious | Rare | To never run out of resources | Others take, waste, deplete | Hoard, ration, withhold | DE-FG controlled | elias_affectless | void_covetous |
nyra_bedeviled |
The Bedeviled | Epic | To prevent catastrophe through ritual | Others don't understand the danger | Ritualize, obsess, check again | FG-HI anxious | elowen_phobic | draven_explosive |
nyra_conscientious → elias_affectless: Stable, non-judgmental — low disruption to perfectionism
nyra_conscientious ✕ vivienne_infantile: Demands she can't perfectionist-solve — chaotic needs
nyra_puritanical → elias_remote: Ascetic compatibility — neither seeks pleasure
nyra_puritanical ✕ vivienne_appeasing: Sees flattery as corruption and moral weakness
nyra_bureaucratic → elias_languid: Too inert to break rules — perfect procedural compliance
nyra_bureaucratic ✕ vivienne_tempestuous: Emotional chaos has no form number — system crashes
nyra_parsimonious → elias_affectless: Low resource demand — mutual economy
nyra_parsimonious ✕ void_covetous: Wants what she's hoarding — mutual scarcity war
nyra_bedeviled → elowen_phobic: Shared anxiety — mutual understanding of fear
nyra_bedeviled ✕ draven_explosive: Unpredictability is maximum anxiety trigger
| Subtype ID | Name | Rarity | CCRT Wish Shift | RO Shift | RS Shift | IPC Shift | Ideal | Worst |
|---|---|---|---|---|---|---|---|---|
elowen_phobic |
The Phobic | Common | To be safe from social threat | Others are unpredictable threats | Freeze, flee, hypervigilant scanning | FG extreme | nyra_bedeviled | draven_explosive |
elowen_conflicted |
The Conflicted | Rare | To connect AND be safe (irreconcilable) | Others will come close then hurt me | Approach→retreat→approach cycle | FG↔LM oscillation | vivienne_tempestuous | draven_tyrannical |
elowen_hypersensitive |
The Hypersensitive | Uncommon | To be seen without being hurt | Others' judgments wound at full force | Absorb criticism as confirmation, withdraw bleeding | FG-HI raw | elias_depersonalized | draven_reputation |
elowen_selfdeserting |
The Self-Deserting | Epic | To preemptively erase self before rejection | Others don't even notice me | Apologize for existing, become invisible | HI extreme | nyra_conscientious | draven_tyrannical |
elowen_withdrawn |
The Withdrawn | Uncommon | To live in the inner world where it's safe | Others can't reach the real world anyway | Retreat to fantasy, build interior castle | FG-DE interior | elias_remote | vivienne_vivacious |
elowen_phobic → nyra_bedeviled: Shared anxiety, both understand fear as primary emotion
elowen_phobic ✕ draven_explosive: Unpredictable violence = worst fear realized
elowen_conflicted → vivienne_tempestuous: Both push-pull — mutual recognition of the approach-retreat pattern
elowen_conflicted ✕ draven_tyrannical: Punishes the retreat phase — no safe withdrawal allowed
elowen_hypersensitive → elias_depersonalized: His numbness buffers her rawness — complementary intensity
elowen_hypersensitive ✕ draven_reputation: Reactive aggression destroys thin skin completely
elowen_selfdeserting → nyra_conscientious: Notices her, values reliability over display — seen without threat
elowen_selfdeserting ✕ draven_tyrannical: Demands presence from someone who's actively erasing
elowen_withdrawn → elias_remote: Parallel inner worlds with no demand for intersection
elowen_withdrawn ✕ vivienne_vivacious: Drags into external world forcibly — fantasy shattered
| Subtype ID | Name | Rarity | CCRT Wish Shift | RO Shift | RS Shift | IPC Shift | Ideal | Worst |
|---|---|---|---|---|---|---|---|---|
void_nomadic |
The Nomadic | Common | To be untethered, no bonds | Others try to anchor me | Drift, escape, burn bridges | FG-BC edge | elias_languid | nyra_puritanical |
void_covetous |
The Covetous | Uncommon | To take what the world owes me | Others have what's mine | Envy, scheme, acquire | BC-PA acquisitive | vivienne_appeasing | nyra_parsimonious |
void_compensatory |
The Compensatory | Epic | To never be exposed as inadequate | Others might see through the facade | Over-perform, project grandiosity over shame | PA surface, HI core | vivienne_appeasing | draven_reputation |
void_malevolent |
The Malevolent | Legendary | To make others feel what I feel (pain) | Others are targets for projected suffering | Cruelty, sadism, destruction as expression | BC extreme | elowen_selfdeserting | draven_tyrannical |
void_fanatic |
The Fanatic | Legendary | To be the singular authority on truth | Others must follow or be enemies | Proselytize, escalate, purge dissent | PA messianic | elowen_hypersensitive | void_fanatic |
void_nomadic → elias_languid: Neither cares enough to anchor — mutual drifting
void_nomadic ✕ nyra_puritanical: Moral anchoring demands on the unanchorable
void_covetous → vivienne_appeasing: Gives freely what he covets — supply without resistance
void_covetous ✕ nyra_parsimonious: Hoards what he wants — mutual scarcity war
void_compensatory → vivienne_appeasing: Validates the facade endlessly — narcissistic supply
void_compensatory ✕ draven_reputation: Challenges the facade publicly — devastating exposure
void_malevolent → elowen_selfdeserting: Absorbs punishment without resistance — darkest pairing in the system
void_malevolent ✕ draven_tyrannical: Refuses to suffer, counter-attacks — mutual destruction guaranteed
void_fanatic → elowen_hypersensitive: Emotionally receptive to zealous conviction — susceptible to true belief
void_fanatic ✕ void_fanatic: Two competing messiahs — schismatic annihilation
The compatibility matrix is computed using a priority cascade:
1. Mutual Ideal (95): Both A.idealMatch includes B AND B.idealMatch includes A → type = "ideal", score = 95
2. Asymmetric Ideal (75): Only one side lists the other as ideal → type = "complementary", score = 75
3. Mutual Worst (5): Both A.worstMatch includes B AND B.worstMatch includes A → type = "destructive", score = 5
4. Asymmetric Worst (25): Only one side lists the other as worst → type = "antagonistic", score = 25
5. IPC Angular Distance (fallback): For pairings with no explicit ideal/worst relationship:
Subtype compatibility uses directional ideal/worst subtype IDs:
Mutual Ideal (98): A.idealSubtype === B.id AND B.idealSubtype === A.id
Asymmetric Ideal (80): One side is the other's ideal subtype
Mutual Worst (3): A.worstSubtype === B.id AND B.worstSubtype === A.id
Asymmetric Worst (20): One side is the other's worst subtype
Neutral (50): No specific subtype-level compatibility data
| File | Contents |
|---|---|
src/data/compatibility.js | IPC_POSITIONS, ARCHETYPE_CCRT, SUBTYPE_CCRT, COMPATIBILITY_MATRIX, COLLUSIVE_BONDS, COMPATIBILITY_COLORS, helper functions (getCompatibility, getSubtypeCompatibility, getIpcCoordinates) |
src/data/characters.js | 6 playable characters with IDs, names, rarities, costs, AI providers, archetypes, bond effects |
src/data/subtypes.js | 31 Millon subtypes with IDs, base character mappings, core traits, strengths, vulnerabilities, rarities, bond effects |
src/lib/archetypeData.js | 10 archetype definitions with display names, descriptions, motifs, severity levels, sprite data, gacha variant configurations |
src/components/CompatibilitySystem.jsx | In-game React overlay component (Circumplex View, Match Matrix, Character Profiles tabs) |
All CCRT profiles, IPC positions, subtype CCRT shifts, and ideal/worst pairings are extracted directly from src/data/compatibility.js. Character metadata from src/data/characters.js. Subtype trait dictionaries from src/data/subtypes.js. Archetype display names from src/lib/archetypeData.js.
Eternal Bonds — Compatibility System Reference Document
Data extracted from codebase source files. All 10 archetypes, 31 subtypes, 9 collusive bonds.
Frameworks: Luborsky CCRT (1977, 1990) | Leary/Wiggins IPC (1957, 1979) | Millon Subtypes (1996, 2011)