Skip to main content

THE CENTER

Why Color Matters in Human-AI Collaboration

In Human-AI collaboration, humans drown in a sea of text strings. COLOR is the primary rescue tool. Core-Flow is a system that expresses information flow through color. The question we must answer:
“How does this color help humans perceive the flow of information?”
Gestalt-Color Connection:
├── Figure/Ground → Core/Flow (identity vs transition)
├── Similarity → Frame Drag (related information grouping)
├── Common Fate → Einstein Arc (information flow direction)
└── Proximity → Hue Inheritance (related information nearness)

Complete Gestalt to Monolex Mapping

┌─────────────────────────────────────────────────────────────────────────────┐
│  GESTALT → MONOLEX MAPPING (Gravity Lensing Physics-based)                  │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                             │
│  Gestalt Principle     Paradigm        Physics Operation   Monolex System   │
│  ─────────────────     ──────────      ─────────────────   ───────────────  │
│  Figure/Ground         Core/Flow       -                   Coordinate base  │
│  Similarity            GRAVITY         Frame Drag          blend_hue()      │
│  Common Fate           GRAVITY         Einstein Arc        warp_hue()       │
│  Proximity             GRAVITY         Frame Drag          Hue Inheritance  │
│  Continuity            GRAVITY(Flow)   Caustic region      OkLab Gradient   │
│  Pragnanz              GRAVITY         Lensed Colors       Final result     │
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘

1. Figure/Ground: The Foundation

Gestalt Definition: The fundamental principle that perception separates a scene into foreground (figure) and background (ground).

Core/Flow as Figure/Ground

┌─────────────────────────────────────────────────────────────────┐
│  Core/Flow distinguishes not colors, but "what colors do"       │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  CORE = "Operations that define identity" + "Theme center"      │
│  ──────────────────────────────                                 │
│  Question: "What IS this color?"                                │
│  Coordinate: OkLCH (Polar) - Hue IS identity                    │
│  Example: "This is Blue" (H = 250 degrees)                      │
│  Theme center: Core = Theme Hue center point (=Anchor)          │
│                                                                 │
│  FLOW = "Operations that derive state"                          │
│  ──────────────────────────────                                 │
│  Question: "What STATE is this color in?"                       │
│  Coordinate: OkLab (Cartesian) - suitable for interpolation     │
│  Example: "This is Blue's hover state" (blend)                  │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘
Mapping:
Gestalt Figure/GroundCore/Flow
Figure (foreground)Core - defines WHAT something is
Ground (background)Flow - provides context/state
Separation enables recognitionSeparation enables identity + transition

2. Similarity: Frame Drag

Gestalt Definition

Law of Similarity: Elements that share visual characteristics (especially color) are perceived as grouped.
“Color is a strong similarity characteristic that can unite elements of varying types.” — Nielsen Norman Group

Physics Metaphor: Frame Drag (Lense-Thirring Effect)

In gravitational physics, Frame Drag is the phenomenon where a rotating massive body “drags” surrounding spacetime:
╔════════════════════════════════════════════════════════════╗
║  FRAME DRAG (Lense-Thirring Effect)                        ║
╠════════════════════════════════════════════════════════════╣
║                                                            ║
║  Physics:                                                  ║
║  ────────                                                  ║
║  A rotating massive body (black hole, etc.)                ║
║  drags surrounding spacetime in its rotation direction     ║
║                                                            ║
║  Monolex Color System:                                     ║
║  ─────────────────────                                     ║
║  Core (Theme Hue)                                          ║
║  drags all colors toward its Hue direction                 ║
║                                                            ║
╚════════════════════════════════════════════════════════════╝

Implementation

┌───────────────────────────────────────────────────────────────────────┐
│  FRAME DRAG IMPLEMENTATION (Gestalt Similarity)                       │
├───────────────────────────────────────────────────────────────────────┤
│                                                                       │
│  CONDITION: tint_strength > 0?                                        │
│       │                                                               │
│  NO ──┴──► Skip (no dragging)                                         │
│       │                                                               │
│  YES ─┴──► Apply Frame Drag:                                          │
│            dragged_h = blend_hue(h, core_hue, tint_strength)          │
│            h = dragged_h                                              │
│                                                                       │
│  RESULT: All colors dragged toward Core → visual unity                │
│                                                                       │
└───────────────────────────────────────────────────────────────────────┘
// theme_transform.rs - Frame Drag via blend_hue
// When tint_strength > 0, all colors are dragged toward core_hue

if cache.tint_strength > 0.0 {
    let dragged_h = blend_hue(h, cache.core_hue, cache.tint_strength);
    h = dragged_h;
}

Why Frame Drag = Similarity

Gestalt SimilarityFrame Drag
”Shared color creates grouping”Dragged toward Core creates shared Hue - visual unity
Color unites varying element typesTrueColor, ANSI 256, ANSI 16 all dragged
Perception of relatednessTheme consistency across all terminal output

Visual Demonstration

Before Frame Drag (No Similarity):
┌─────────────────────────────────────────┐
│  Red text   Blue te│ ← No visual grouping
│  Yellow bg  Cyan bg     Magenta bg      │
└─────────────────────────────────────────┘

After Frame Drag (Similarity Applied):
┌─────────────────────────────────────────┐
│  Red+Blue   Bl│ ← All dragged toward Blue
│  drag       drag   │ ← Perceived as group
└─────────────────────────────────────────┘

        core_hue = 250 degrees (Blue)
        drag_strength = 0.15

3. Common Fate: Einstein Arc

Gestalt Definition

Law of Common Fate: Elements that move in the same direction are perceived as belonging together.
“Elements that move in the same direction and at the same rate are perceived as belonging together as a group.” — Interaction Design Foundation
“If all else is equal, items that undergo the same change will be perceptually grouped together.” — Scholarpedia

Physics Metaphor: Einstein Arc

In gravitational lensing, Einstein Arc is the phenomenon where light bends around a massive object:
╔════════════════════════════════════════════════════════════╗
║  EINSTEIN ARC (Gravitational Lensing)                      ║
╠════════════════════════════════════════════════════════════╣
║                                                            ║
║  Physics:                                                  ║
║  ────────                                                  ║
║  Light passing near massive object bends its path          ║
║  All light bends same direction → Einstein Arc forms       ║
║                                                            ║
║          Original light source                             ║
║             ★                                              ║
║              \                                             ║
║               \ Light path bends                           ║
║                \                                           ║
║            Core ●──→ Observer                              ║
║               (massive object)                             ║
║                                                            ║
║  Monolex Color System:                                     ║
║  ─────────────────────                                     ║
║  Hue passing near Core bends its path                      ║
║  All Hue bends same direction → Theme integration          ║
║                                                            ║
╚════════════════════════════════════════════════════════════╝

Implementation

┌───────────────────────────────────────────────────────────────────────┐
│  EINSTEIN ARC IMPLEMENTATION (Gestalt Common Fate)                    │
├───────────────────────────────────────────────────────────────────────┤
│                                                                       │
│  INPUT: hue, core_hue, strength, width                                │
│                                                                       │
│  |delta| <= width?  (Inside Caustic region?)                          │
│       │                                                               │
│  YES ─┴──► COMPRESS toward center:                                    │
│            ratio = |delta| / width                                    │
│            compressed = ratio × (1 - strength)                        │
│            result = core_hue + sign × compressed × width              │
│       │                                                               │
│  NO ──┴──► ARC around Core:                                           │
│            Redistribute hue in expanded outside range                 │
│                                                                       │
│  RESULT: All hues bend same direction → perceived as group            │
│                                                                       │
└───────────────────────────────────────────────────────────────────────┘
// theme_transform.rs:17-55 - warp_hue_compress (Einstein Arc)
fn warp_hue_compress(hue: f32, core_hue: f32, strength: f32, width: f32) -> f32 {
    // ...
    if abs_d <= width {
        // Inside Caustic region: compress towards center
        let ratio = abs_d / width;
        let compressed = ratio * (1.0 - strength);
        let result = core_hue + delta.signum() * compressed * width;
        result.rem_euclid(two_pi)
    } else {
        // Outside Caustic: arc around Core
        // ...
    }
}

Why Einstein Arc = Common Fate

Gestalt Common FateEinstein Arc
”Move together - grouped”Arc around Core - grouped
Same direction of movementSame direction of hue bending
Flock of birdsLight rays arcing around massive object
Camouflage broken by movementComplementary colors “arced” together

4. Proximity: Hue Inheritance

Gestalt Definition

Law of Proximity: Elements close together are perceived as grouped.
“Proximity is so powerful that it overrides similarity of color, shape, and other factors.” — Nielsen Norman Group

Implementation (Frame Drag via blend_hue)

┌───────────────────────────────────────────────────────────────────────┐
│  HUE INHERITANCE AS PROXIMITY (Gestalt Proximity)                     │
├───────────────────────────────────────────────────────────────────────┤
│                                                                       │
│  blend_hue(h1, h2, t) → Brings h1 "closer" to h2 by ratio t           │
│                                                                       │
│  INHERITANCE LEVELS (proximity to Core):                              │
│  ──────────────────────────────────────                               │
│  textHueInherit:   1.00  ──► 100% proximity (fully proximate)         │
│  bgHueInherit:     0.80  ──► 80% proximity                            │
│  borderHueInherit: 0.18  ──► 18% proximity                            │
│  ansiHueInherit:   0.08  ──► 8% proximity (most distant)              │
│                                                                       │
│  HIGHER t = closer to Core = stronger grouping                        │
│                                                                       │
└───────────────────────────────────────────────────────────────────────┘
// oklab.rs - blend_hue()
pub fn blend_hue(h1: f32, h2: f32, t: f32) -> f32 {
    // Brings h1 "closer" to h2 by ratio t
    // Higher t = more proximity to Core
}

// Theme parameters (each element's Core proximity):
// bgHueInherit: 0.80    ← 80% proximity to Core
// textHueInherit: 1.00  ← 100% proximity (fully proximate)
// borderHueInherit: 0.18
// ansiHueInherit: 0.08

Why Hue Inheritance = Proximity

Gestalt ProximityHue Inheritance (Frame Drag)
“Nearness - grouping”Closer to Core - stronger identity
Spatial closenessCloseness in Hue space
Override other factorsHigh *HueInherit values dominate
Physical distanceHue wheel angle distance

Visual Demonstration

Hue Inheritance as Proximity to Core:

Core Hue: 250 degrees (Blue)

                    ● Text (100% inherit)
                   /   = 250 degrees (fully proximate)
                  /
                 ● BG (80% inherit)
                /    = close to Core
               /
              ● Border (18% inherit)
             /     = medium distance
            /
           ● ANSI (8% inherit)
                  = far from Core

Higher inherit = "closer" to Core = stronger grouping

5. Continuity: Caustic Region (OkLab Gradient)

Law of Continuity: Elements arranged on a line or curve are perceived as related.
┌───────────────────────────────────────────────────────────────────────┐
│  OKLAB GRADIENT FILL (Gestalt Continuity)                             │
├───────────────────────────────────────────────────────────────────────┤
│                                                                       │
│  LINEAR INTERPOLATION in Cartesian OkLab space:                       │
│                                                                       │
│  left boundary ──────────────────────────► right boundary             │
│       (a₁, b₁)        t=0 → t=1               (a₂, b₂)                │
│                                                                       │
│  result_a = a₁ × (1-t) + a₂ × t                                       │
│  result_b = b₁ × (1-t) + b₂ × t                                       │
│                                                                       │
│  RESULT: Smooth continuous path through color space                   │
│                                                                       │
└───────────────────────────────────────────────────────────────────────┘
// theme_transform.rs:57-105 - fill_with_oklab_gradient
// Caustic region: OkLab linear interpolation = smooth continuous path
result_a = left_a * (1.0 - t) + right_a * t;
result_b = left_b * (1.0 - t) + right_b * t;
The Caustic region creates continuous path through color space - Gestalt Continuity.

6. Pragnanz: Lensed Colors

Law of Pragnanz (Good Form): Perception tends toward the simplest, most stable form.
┌───────────────────────────────────────────────────────────────────────┐
│  HYBRID ALGORITHM (Gestalt Pragnanz)                                  │
├───────────────────────────────────────────────────────────────────────┤
│                                                                       │
│  MODE 2 (compressGradient):                                           │
│                                                                       │
│  Outside Caustic ──► Einstein Arc (CORE - hue redistribution)         │
│            +                                                          │
│  Inside Caustic  ──► Gradient fill (FLOW - smooth interpolation)      │
│            =                                                          │
│  Lensed Colors   ──► Simplest, most stable color arrangement          │
│                                                                       │
└───────────────────────────────────────────────────────────────────────┘
// apply_hue_warp mode 2 (compressGradient)
// Einstein Arc (outside Caustic) + Caustic region gradient (inside)
// → Lensed Colors: simplest and most stable color arrangement
The hybrid algorithm produces the simplest stable result - Gestalt Pragnanz.

Evidence Citations

Web Sources: Gestalt Similarity

SourceURLKey Quote
NN/gSimilarity Principle in Visual Design”Color is a strong similarity characteristic that can unite elements of varying types”
IxDFThe Law of Similarity”Items which share a visual characteristic are perceived as more related”
CorelDRAWGestalt Principle of Similarity”When objects share a color, it often indicates that items are related”

Web Sources: Gestalt Common Fate

SourceURLKey Quote
IxDFLaw of Common Fate”Elements that move in the same direction and at the same rate are perceived as belonging together”
ScholarpediaGestalt Principles”If all else is equal, items that undergo the same change will be perceptually grouped together”
PMCA Century of Gestalt Psychology”Common fate is one of the most powerful of the classic grouping principles”

Web Sources: Gestalt Proximity

SourceURLKey Quote
NN/gSimilarity Principle”Proximity is so powerful that it overrides similarity of color, shape, and other factors”
ToptalGestalt Principles of Design”The relative nearness of objects has an even stronger influence on grouping”

Summary: Gestalt-Physics-Implementation Mapping

Gestalt PrinciplePhysics MetaphorImplementationEffect
Figure/GroundCore/FlowOKLCH vs OKLABSeparation of identity and transition
SimilarityFrame Dragblend_hue()Hue dragged toward Core direction
Common FateEinstein Arcwarp_hue_compress()Hue path bends around Core
ContinuityCaustic gradientfill_with_oklab_gradient()Smooth transitions
ProximityHue Inheritancezone groupingNearness to Core
PragnanzLensed ColorsFinal outputOrderly perception

Gravity Lensing Deep Dive

Frame Drag, Einstein Arc, and the physics of color transformation