Skip to main content

Version History

Track the evolution of MonoTerm architecture and documentation.

Current Version: 3.3.0

┌───────────────────────────────────────────────────────────────────────┐
│  MONOLEX TERMINAL ARCHITECTURE (v3.3.0)                               │
├───────────────────────────────────────────────────────────────────────┤
│                                                                       │
│   PTY Daemon (Rust)                                                   │
│       │                                                               │
│       │ Raw text stream (Unbounded channel)                           │
│       v                                                               │
│   Tauri Backend (Rust)                                                │
│       │                                                               │
│       │ AtomicState.feed()                                            │
│       │ VTE Parse ──▶ Grid update                                      │
│       │                                                               │
│       │ [ACK Gate: waiting_for_ack?]                                  │
│       │    YES ──▶ pending_data = true; continue                       │
│       │    NO  ──▶ emit GridUpdate                                     │
│       v                                                               │
│   Frontend (TypeScript)                                               │
│       │                                                               │
│       │ Direct Buffer Injection (bypasses term.write)                 │
│       │ term.refresh(startRow, endRow)                                │
│       │ grid_ack() ──▶ Backend (BEFORE inject)                         │
│       v                                                               │
│   xterm.js WebGL Renderer                                             │
│                                                                       │
└───────────────────────────────────────────────────────────────────────┘

Version Timeline

v3.3.0 (Latest)

┌───────────────────────────────────────────────────────────────────────┐
│  v3.3.0 - Q.E.D Verification Update                                   │
├───────────────────────────────────────────────────────────────────────┤
│                                                                       │
│   Key Changes:                                                        │
│   ─────────────                                                       │
│   - Ring buffer replaced with unbounded channel                       │
│   - ACK timeout corrected (10s ──▶ 1s)                                 │
│   - Verified all code references                                      │
│                                                                       │
│   What Changed:                                                       │
│   ┌────────────────────────┬──────┬────────────────────────────┐      │
│   │ Component              │ Was  │ Now                        │      │
│   ├────────────────────────┼──────┼────────────────────────────┤      │
│   │ Data channel           │ Ring │ Unbounded MPSC             │      │
│   │ ACK timeout            │ 10s  │ 1s                         │      │
│   └────────────────────────┴──────┴────────────────────────────┘      │
│                                                                       │
└───────────────────────────────────────────────────────────────────────┘

v3.2.0

┌───────────────────────────────────────────────────────────────────────┐
│  v3.2.0 - MonoTerm Guide (Monokinetics Implementation)                │
├───────────────────────────────────────────────────────────────────────┤
│                                                                       │
│   New Documentation:                                                  │
│   ───────────────────                                                 │
│   - MonoTerm rendering system (8 chapters)                            │
│   - Monokinetics philosophy                                           │
│   - Atomic Loop (Virtual Synchronized Rendering)                      │
│   - BSU/ESU protocol guide                                            │
│   - 99.95% data reduction mechanism                                   │
│   - Monokinetic Hermeneutics                                          │
│                                                                       │
│   Key Concepts:                                                       │
│   ──────────────                                                      │
│   - MonoTerm: Complete terminal rendering system name                 │
│   - Atomic Loop: Cursor hide/show frame detection                     │
│   - BSU/ESU: Explicit synchronization                                 │
│   - CodexMono: The Brick (fixed-width foundation)                     │
│   - CJK Double-Width: VTE flag enforcement                            │
│                                                                       │
└───────────────────────────────────────────────────────────────────────┘

v3.1.0

┌───────────────────────────────────────────────────────────────────────┐
│  v3.1.0 - Atomic Buffer System Documentation                          │
├───────────────────────────────────────────────────────────────────────┤
│                                                                       │
│   New Documentation:                                                  │
│   ───────────────────                                                 │
│   - H+2V buffer model with mathematical proof                         │
│   - Stage 2 "True Partial Mode" optimization                          │
│   - DiffHint decision flow                                            │
│                                                                       │
│   Key Achievement:                                                    │
│   ─────────────────                                                   │
│   99.95% IPC data reduction (50KB ──▶ 0.5KB for typing)                │
│                                                                       │
└───────────────────────────────────────────────────────────────────────┘

v3.0.0

┌───────────────────────────────────────────────────────────────────────┐
│  v3.0.0 - Documentation Restructure                                   │
├───────────────────────────────────────────────────────────────────────┤
│                                                                       │
│   Changes:                                                            │
│   ─────────                                                           │
│   - Created master index                                              │
│   - Indexed multi-tab-rendering (35 chapters)                         │
│   - Indexed terminal-internals (37 chapters)                          │
│   - Fixed ACK timing documentation                                    │
│                                                                       │
│   Total Documentation:                                                │
│   ┌───────────────────────────┬───────┬───────┐                       │
│   │ Category                  │ Files │ Lines │                       │
│   ├───────────────────────────┼───────┼───────┤                       │
│   │ Core Chapters (ch1-18)    │ 18    │ ~6000 │                       │
│   │ Database Docs (db-*)      │ 5     │ ~500  │                       │
│   │ Multi-Tab Rendering       │ 40    │ ~15000│                       │
│   │ Terminal Internals        │ 37    │ ~12000│                       │
│   │ UX Research               │ 50+   │ ~15000│                       │
│   │ TOTAL                     │ 150+  │ ~50000│                       │
│   └───────────────────────────┴───────┴───────┘                       │
│                                                                       │
└───────────────────────────────────────────────────────────────────────┘

v2.1.x

┌───────────────────────────────────────────────────────────────────────┐
│  v2.1.x - ACK Flow Control Corrections                                │
├───────────────────────────────────────────────────────────────────────┤
│                                                                       │
│   v2.1.2: ACK Timing Correction                                       │
│   ─────────────────────────────                                       │
│   Problem: Documentation said ACK fires after render completion       │
│   Reality: ACK fires at RAF callback start (BEFORE inject)            │
│                                                                       │
│   v2.1.1: ACK Flow Control Documentation Fix                          │
│   ──────────────────────────────────────────                          │
│   Problem: References to time-based flow control (16ms timeout)       │
│   Reality: ACK-based consumer-driven backpressure                     │
│                                                                       │
└───────────────────────────────────────────────────────────────────────┘

v2.0.0

┌───────────────────────────────────────────────────────────────────────┐
│  v2.0.0 - Grid Mode v2 / Alacritty Integration                        │
├───────────────────────────────────────────────────────────────────────┤
│                                                                       │
│   Major Changes:                                                      │
│   ───────────────                                                     │
│   - Direct Buffer Injection replaces term.write()                     │
│   - VTE parsing moves to Rust backend                                 │
│   - Alacritty integration                                             │
│                                                                       │
│   Performance Impact:                                                 │
│   ┌────────────────────┬─────────────┬─────────────┐                  │
│   │ Metric             │ Before      │ After       │                  │
│   ├────────────────────┼─────────────┼─────────────┤                  │
│   │ Parsing            │ JS (slow)   │ Rust (fast) │                  │
│   │ Buffer update      │ term.write  │ Direct      │                  │
│   │ Flicker            │ Yes         │ No          │                  │
│   └────────────────────┴─────────────┴─────────────┘                  │
│                                                                       │
└───────────────────────────────────────────────────────────────────────┘

Key Mechanisms

┌───────────────────────────────────────────────────────────────────────┐
│  KEY MECHANISMS BY VERSION                                            │
├───────────────────────────────────────────────────────────────────────┤
│                                                                       │
│   ┌───────────────────┬──────────────────┬───────────────────────────┐│
│   │ Mechanism         │ Purpose          │ Introduced                ││
│   ├───────────────────┼──────────────────┼───────────────────────────┤│
│   │ ACK Flow Control  │ WHEN to emit     │ v2.0.0                    ││
│   │ (1s timeout)      │ (backpressure)   │                           ││
│   ├───────────────────┼──────────────────┼───────────────────────────┤│
│   │ DiffHint          │ WHAT to emit     │ v2.1.0                    ││
│   │                   │ (minimize data)  │                           ││
│   ├───────────────────┼──────────────────┼───────────────────────────┤│
│   │ Direct Buffer     │ HOW to update    │ v2.0.0                    ││
│   │ Injection         │ (bypass parser)  │                           ││
│   ├───────────────────┼──────────────────┼───────────────────────────┤│
│   │ Alacritty VTE     │ WHERE parsing    │ v2.0.0                    ││
│   │                   │ happens (Rust)   │                           ││
│   └───────────────────┴──────────────────┴───────────────────────────┘│
│                                                                       │
└───────────────────────────────────────────────────────────────────────┘

Deprecated Patterns

┌───────────────────────────────────────────────────────────────────────┐
│  DEPRECATED PATTERNS                                                  │
├───────────────────────────────────────────────────────────────────────┤
│                                                                       │
│   ┌────────────────────────┬──────────────────┬──────────────────────┐│
│   │ Pattern                │ Status           │ Replacement          ││
│   ├────────────────────────┼──────────────────┼──────────────────────┤│
│   │ term.write(data)       │ DEPRECATED       │ Direct Buffer        ││
│   │                        │                  │ Injection            ││
│   ├────────────────────────┼──────────────────┼──────────────────────┤│
│   │ Time-based batching    │ NEVER            │ ACK-based flow       ││
│   │ (16ms)                 │ IMPLEMENTED      │ control              ││
│   ├────────────────────────┼──────────────────┼──────────────────────┤│
│   │ 50% frame discard      │ NEVER            │ Consumer-driven      ││
│   │                        │ IMPLEMENTED      │ backpressure         ││
│   ├────────────────────────┼──────────────────┼──────────────────────┤│
│   │ JS VTE parsing         │ DEPRECATED       │ Rust VTE parsing     ││
│   ├────────────────────────┼──────────────────┼──────────────────────┤│
│   │ Ring buffer (8192)     │ REPLACED         │ Unbounded channel    ││
│   │                        │ v3.3.0           │                      ││
│   ├────────────────────────┼──────────────────┼──────────────────────┤│
│   │ 10s ACK timeout        │ REPLACED         │ 1s ACK timeout       ││
│   │                        │ v3.3.0           │                      ││
│   └────────────────────────┴──────────────────┴──────────────────────┘│
│                                                                       │
└───────────────────────────────────────────────────────────────────────┘

Documentation Structure

┌───────────────────────────────────────────────────────────────────────┐
│  DOCUMENTATION NAVIGATION                                             │
├───────────────────────────────────────────────────────────────────────┤
│                                                                       │
│   docs/                                                               │
│   │                                                                   │
│   ├── README.md                    # Master index                     │
│   ├── version-history.mdx          # This file                        │
│   │                                                                   │
│   ├── architecture/                                                   │
│   │   ├── overview.mdx             # System overview                  │
│   │   ├── data-flow.mdx            # PTY to screen                    │
│   │   ├── session-actor.mdx        # Lock-free pattern                │
│   │   └── 5-tier-grid-mode.mdx     # Rendering tiers                  │
│   │                                                                   │
│   ├── terminal/                                                       │
│   │   ├── atomic-loop.mdx          # Frame detection                  │
│   │   ├── bsu-esu.mdx              # Sync protocol                    │
│   │   ├── cursor-pattern.mdx       # Universal detection              │
│   │   └── compatibility.mdx        # AI CLI matrix                    │
│   │                                                                   │
│   ├── philosophy/                                                     │
│   │   ├── monokinetics.mdx         # Core philosophy                  │
│   │   ├── monolex-vision.mdx       # Philosophy to code               │
│   │   └── smpc-ofac.mdx            # Design principles                │
│   │                                                                   │
│   └── guides/                                                         │
│       ├── why-fast.mdx             # Performance                      │
│       └── getting-started.mdx      # Quick start                      │
│                                                                       │
└───────────────────────────────────────────────────────────────────────┘

Summary

╔═════════════════════════════════════════════════════════════════════╗
║                                                                     ║
║   ARCHITECTURE EVOLUTION                                            ║
║                                                                     ║
║   ┌───────────────────────────────────────────────────────────────┐ ║
║   │                                                               │ ║
║   │   v1.x: Basic Terminal                                        │ ║
║   │         - term.write() for output                             │ ║
║   │         - JS-based parsing                                    │ ║
║   │                                                               │ ║
║   │   v2.0: Alacritty Integration                                 │ ║
║   │         - Direct Buffer Injection                             │ ║
║   │         - Rust VTE parsing                                    │ ║
║   │         - ACK flow control                                    │ ║
║   │                                                               │ ║
║   │   v3.x: Optimization & Documentation                          │ ║
║   │         - DiffHint (99.95% reduction)                         │ ║
║   │         - Unbounded channels                                  │ ║
║   │         - MonoTerm philosophy                                 │ ║
║   │                                                               │ ║
║   └───────────────────────────────────────────────────────────────┘ ║
║                                                                     ║
║   Core Technologies (stable):                                       ║
║   - Rust + Tokio + Alacritty                                        ║
║   - Tauri IPC                                                       ║
║   - xterm.js + WebGL                                                ║
║   - MPSC channels (lock-free)                                       ║
║   - ACK backpressure                                                ║
║                                                                     ║
╚═════════════════════════════════════════════════════════════════════╝

MonoTerm: Evolved for Performance