Skip to main content
┌═════════════════════════════════════════════════════════════════════════┐
│                                                                         │
│     THE BRICK PRINCIPLE                                                 │
│                                                                         │
│     "CodexMono is The Brick - the fundamental unit that enables         │
│      Monokinetics: unified Human + AI experience through                │
│      predictable, trustable visual alignment."                          │
│                                                                         │
│     When you navigate Back/Forward in documents, it feels as            │
│     natural as Up/Down arrow in terminal. When you view JSON,           │
│     HTML, or Markdown, the monospace foundation remains constant.       │
│                                                                         │
└═════════════════════════════════════════════════════════════════════════┘
┌─────────────────────────────────────────────────────────────────────────┐
│  TERMINAL AND DOCUMENT NAVIGATION - SAME PATTERN                        │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                         │
│  Terminal History:               Document History:                      │
│  ┌───────────────────┐          ┌───────────────────┐                   │
│  │ Command Stack     │          │ File Stack        │                   │
│  │                   │          │                   │                   │
│  │ [ls -la]       <──┼─ Up      │ [doc1.md]      <──┼─ Back             │
│  │ [cd /home]        │          │ [doc2.md]         │                   │
│  │ [git status]      │          │ [doc3.md]      <──┼─ Current          │
│  │              ──>──┼─ Down    │              ──>──┼─ Forward          │
│  └───────────────────┘          └───────────────────┘                   │
│                                                                         │
│  Same concept: stack-based history with bidirectional traversal         │
│                                                                         │
└─────────────────────────────────────────────────────────────────────────┘

How Navigation Works

┌─────────────────────────────────────────────────────────────────────────┐
│  NAVIGATION FLOW                                                        │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                         │
│  File History (Stack):                                                  │
│  ┌───────────────────────────────────────────────────────────────┐      │
│  │ doc1.md    doc2.md    doc3.md    doc4.md    doc5.md           │      │
│  └───────────────────────────────────────────────────────────────┘      │
│                             ^                                           │
│                             │                                           │
│                      Current Position                                   │
│                                                                         │
│  Operations:                                                            │
│  ┌───────────────────────────────────────────────────────────────┐      │
│  │ Back:    Move left, load previous file                        │      │
│  │ Forward: Move right, load next file                           │      │
│  │ New File: Truncate forward history, add to end                │      │
│  └───────────────────────────────────────────────────────────────┘      │
│                                                                         │
│  Tab-Aware: Each history entry remembers its tab                        │
│  Navigation can switch tabs AND load file in one action                 │
│                                                                         │
└─────────────────────────────────────────────────────────────────────────┘

Keyboard Shortcuts

┌─────────────────────────────────────────────────────────────────────────┐
│  NAVIGATION SHORTCUTS                                                   │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                         │
│  Back Navigation:                                                       │
│  ┌───────────────────────────────────────────┐                          │
│  │ Platform    │ Shortcut                    │                          │
│  ├─────────────┼─────────────────────────────┤                          │
│  │ macOS       │ Cmd + Left Arrow            │                          │
│  │ Windows     │ Alt + Left Arrow            │                          │
│  │ All         │ Ctrl + [                    │                          │
│  └───────────────────────────────────────────┘                          │
│                                                                         │
│  Forward Navigation:                                                    │
│  ┌───────────────────────────────────────────┐                          │
│  │ Platform    │ Shortcut                    │                          │
│  ├─────────────┼─────────────────────────────┤                          │
│  │ macOS       │ Cmd + Right Arrow           │                          │
│  │ Windows     │ Alt + Right Arrow           │                          │
│  │ All         │ Ctrl + ]                    │                          │
│  └───────────────────────────────────────────┘                          │
│                                                                         │
└─────────────────────────────────────────────────────────────────────────┘

Auto-Refresh with NIIA Watcher

┌─────────────────────────────────────────────────────────────────────────┐
│  AUTO-REFRESH FLOW                                                      │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                         │
│  NIIA Watcher (Rust Daemon)                                             │
│       │                                                                 │
│       │ File change detected                                            │
│       v                                                                 │
│  ┌────────────────────────────┐                                         │
│  │ Is this the current file?  │                                         │
│  └────────────────────────────┘                                         │
│       │                                                                 │
│  No ──┼─> Skip (irrelevant change)                                      │
│  Yes  v                                                                 │
│  ┌────────────────────────────┐                                         │
│  │ Is editor open?            │                                         │
│  └────────────────────────────┘                                         │
│       │                                                                 │
│  Yes ─┼─> Skip (user is editing)                                        │
│  No   v                                                                 │
│  ┌────────────────────────────┐                                         │
│  │ Debounce (500ms)           │                                         │
│  └────────────────────────────┘                                         │
│       │                                                                 │
│       v                                                                 │
│  ┌────────────────────────────┐                                         │
│  │ 1. Save scroll position    │                                         │
│  │ 2. Reload file             │                                         │
│  │ 3. Restore scroll position │                                         │
│  └────────────────────────────┘                                         │
│                                                                         │
└─────────────────────────────────────────────────────────────────────────┘

Rendering: Multiple File Types, One Interface

┌─────────────────────────────────────────────────────────────────────────┐
│  UNIFIED RENDERING PATTERN                                              │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                         │
│  Terminal:                        VariableMD:                           │
│  ┌───────────────────┐           ┌───────────────────┐                  │
│  │ PTY Output        │           │ File Content      │                  │
│  │   │               │           │   │               │                  │
│  │   v               │           │   v               │                  │
│  │ VTE Parser        │           │ Type Detector     │                  │
│  │   │               │           │   │               │                  │
│  │   v               │           │   v               │                  │
│  │ Cell Grid         │           │ Renderer          │                  │
│  │   │               │           │   │               │                  │
│  │   v               │           │   v               │                  │
│  │ xterm.js          │           │ DOM Container     │                  │
│  └───────────────────┘           └───────────────────┘                  │
│                                                                         │
│  Unified interface, specialized implementations                         │
│                                                                         │
└─────────────────────────────────────────────────────────────────────────┘

Renderer Selection

┌─────────────────────────────────────────────────────────────────────────┐
│  HOW FILE TYPE IS DETECTED                                              │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                         │
│  Input: File content + extension                                        │
│       │                                                                 │
│       v                                                                 │
│  ┌───────────────────────────────────┐                                  │
│  │ Gitignore file?                   │  (.gitignore, .dockerignore)     │
│  └───────────────────────────────────┘                                  │
│       │                                                                 │
│  Yes ─┼─> Gitignore Viewer                                              │
│       │                                                                 │
│  No   v                                                                 │
│  ┌───────────────────────────────────┐                                  │
│  │ JSON file?                        │  (.json, .jsonc)                 │
│  └───────────────────────────────────┘                                  │
│       │                                                                 │
│  Yes ─┼─> JSON Viewer (tree view)                                       │
│       │                                                                 │
│  No   v                                                                 │
│  ┌───────────────────────────────────┐                                  │
│  │ HTML file?                        │  (.html, .htm)                   │
│  └───────────────────────────────────┘                                  │
│       │                                                                 │
│  Yes ─┼─> HTML Viewer (sandboxed)                                       │
│       │                                                                 │
│  No   v                                                                 │
│  ┌───────────────────────────────────┐                                  │
│  │ Image file?                       │  (.png, .jpg, .gif, .svg)        │
│  └───────────────────────────────────┘                                  │
│       │                                                                 │
│  Yes ─┼─> Image Viewer                                                  │
│       │                                                                 │
│  No   v                                                                 │
│  ┌───────────────────────────────────┐                                  │
│  │ Code file?                        │  (.ts, .js, .py, .rs, etc.)      │
│  └───────────────────────────────────┘                                  │
│       │                                                                 │
│  Yes ─┼─> Syntax Highlighter                                            │
│       │                                                                 │
│  No   v                                                                 │
│  ┌───────────────────────────────────┐                                  │
│  │ Default: Markdown                 │                                  │
│  └───────────────────────────────────┘                                  │
│                                                                         │
└─────────────────────────────────────────────────────────────────────────┘

CodexMono Typography: Visual Unity

┌═════════════════════════════════════════════════════════════════════════┐
│                                                                         │
│     THE BRICK'S VISUAL FORM                                             │
│                                                                         │
│     Terminal (xterm.js):            VariableMD:                         │
│     ┌───────────────────┐          ┌───────────────────┐                │
│     │ ┌─┬─┬─┬─┬─┬─┬─┐   │         │ ┌─┬─┬─┬─┬─┬─┬─┐    │                │
│     │ │H│e│l│l│o│ │W│   │         │ │H│e│l│l│o│ │W│    │                │
│     │ └─┴─┴─┴─┴─┴─┴─┘   │         │ └─┴─┴─┴─┴─┴─┴─┘    │                │
│     │ CodexMono 12px    │         │ CodexMono 12px     │                │
│     │ Cell Grid         │         │ Inline Flow        │                │
│     └───────────────────┘          └───────────────────┘                │
│                                                                         │
│     Same font family ensures visual consistency                         │
│     Character widths align (especially for ASCII art)                   │
│                                                                         │
└═════════════════════════════════════════════════════════════════════════┘

Font Stack Architecture

┌─────────────────────────────────────────────────────────────────────────┐
│  FONT FALLBACK CHAIN                                                    │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                         │
│  ┌───────────────────────────────────────────────────────────────┐      │
│  │ Priority │ Font            │ Purpose                          │      │
│  ├──────────┼─────────────────┼──────────────────────────────────┤      │
│  │ 1        │ CodexMono       │ Primary Latin                    │      │
│  │ 2        │ CodexMono EA    │ East Asian (CJK)                 │      │
│  │ 3        │ Emoji Font      │ Emoji rendering                  │      │
│  │ 4        │ SF Mono         │ macOS fallback                   │      │
│  │ 5        │ Monaco          │ macOS legacy                     │      │
│  │ 6        │ Menlo           │ macOS classic                    │      │
│  │ 7        │ Consolas        │ Windows fallback                 │      │
│  │ 8        │ Courier New     │ Cross-platform fallback          │      │
│  │ 9        │ monospace       │ Generic fallback                 │      │
│  └───────────────────────────────────────────────────────────────┘      │
│                                                                         │
└─────────────────────────────────────────────────────────────────────────┘

Responsive Typography

┌─────────────────────────────────────────────────────────────────────────┐
│  HEADING SCALE SYSTEM                                                   │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                         │
│  Progressive heading sizes from H1 (largest) to H6 (smallest):          │
│                                                                         │
│  ┌───────────────────────────────────────────┐                          │
│  │ Level │ Scale   │ If base = 12px          │                          │
│  ├───────┼─────────┼─────────────────────────┤                          │
│  │ H1    │ 2.0x    │ 24px                    │                          │
│  │ H2    │ 1.8x    │ 21.6px                  │                          │
│  │ H3    │ 1.6x    │ 19.2px                  │                          │
│  │ H4    │ 1.4x    │ 16.8px                  │                          │
│  │ H5    │ 1.2x    │ 14.4px                  │                          │
│  │ H6    │ 1.0x    │ 12px                    │                          │
│  └───────────────────────────────────────────┘                          │
│                                                                         │
│  All sizes scale proportionally when base font changes                  │
│                                                                         │
└─────────────────────────────────────────────────────────────────────────┘

Narrow Mode Adaptation

┌─────────────────────────────────────────────────────────────────────────┐
│  NARROW MODE (< 500px container)                                        │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                         │
│  Wide Container (600px):         Narrow Container (400px):              │
│  ┌───────────────────┐          ┌───────────────────┐                   │
│  │ # Large Heading   │          │ # Large Heading   │                   │
│  │                   │          │                   │                   │
│  │ Body text flows   │          │ Body text         │                   │
│  │ across the full   │          │ flows across      │                   │
│  │ width naturally   │          │ narrower space    │                   │
│  └───────────────────┘          └───────────────────┘                   │
│                                                                         │
│  Narrow mode adjusts heading sizes to fit container width               │
│  Font size = Container Width / Characters Per Line                      │
│                                                                         │
└─────────────────────────────────────────────────────────────────────────┘

Summary

┌═════════════════════════════════════════════════════════════════════════┐
│                                                                         │
│  NAVIGATION & INTEGRATION                                               │
│                                                                         │
│  Navigation System:                                                     │
│  ┌───────────────────────────────────────────────────────────────┐      │
│  │ - Stack-based history (like terminal command history)         │      │
│  │ - Tab-aware (remembers which tab each file was in)            │      │
│  │ - Keyboard shortcuts (Cmd/Alt + Arrow, Ctrl+[/])              │      │
│  │ - Auto-refresh with NIIA Watcher integration                  │      │
│  └───────────────────────────────────────────────────────────────┘      │
│                                                                         │
│  Renderer System:                                                       │
│  ┌───────────────────────────────────────────────────────────────┐      │
│  │ - Unified interface for all file types                        │      │
│  │ - Automatic type detection (JSON, HTML, Image, Code, MD)      │      │
│  │ - Same pattern as terminal VTE parsing                        │      │
│  └───────────────────────────────────────────────────────────────┘      │
│                                                                         │
│  CodexMono Typography:                                                  │
│  ┌───────────────────────────────────────────────────────────────┐      │
│  │ - Same monospace font across terminal and documents           │      │
│  │ - Fallback chain ensures consistent rendering                 │      │
│  │ - Responsive heading scales                                   │      │
│  │ - Narrow mode for smaller containers                          │      │
│  └───────────────────────────────────────────────────────────────┘      │
│                                                                         │
│  Result: Visual boundary between terminal and documents disappears,     │
│          creating a unified reading and navigation experience.          │
│                                                                         │
└═════════════════════════════════════════════════════════════════════════┘

The Brick in Action

┌─────────────────────────────────────────────────────────────────────────┐
│  WHY THIS MATTERS                                                       │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                         │
│  When you copy an ASCII diagram from terminal:                          │
│                                                                         │
│  Terminal:                                                              │
│  ┌───────────────────┐                                                  │
│  │  ┌───┐    ┌───┐   │                                                  │
│  │  │ A │───>│ B │   │                                                  │
│  │  └───┘    └───┘   │                                                  │
│  └───────────────────┘                                                  │
│                                                                         │
│  And paste it into a Markdown document:                                 │
│                                                                         │
│  VariableMD:                                                            │
│  ┌───────────────────┐                                                  │
│  │  ┌───┐    ┌───┐   │                                                  │
│  │  │ A │───>│ B │   │                                                  │
│  │  └───┘    └───┘   │                                                  │
│  └───────────────────┘                                                  │
│                                                                         │
│  It renders IDENTICALLY.                                                │
│                                                                         │
│  This is The Brick: predictable visual behavior across all contexts.    │
│                                                                         │
└─────────────────────────────────────────────────────────────────────────┘