Skip to main content

Detection & Scaling

+=============================================================================+
|                                                                             |
|   THE CORE PROMISE                                                          |
|                                                                             |
|   "What aligns in the terminal MUST align in documentation."                |
|                                                                             |
|   CodexMono is The Brick - the fundamental unit that enables                |
|   perfect visual alignment across any medium.                               |
|                                                                             |
+=============================================================================+

How Detection Works

+=============================================================================+
|                                                                             |
|   PATTERN RECOGNITION FLOW                                                  |
|                                                                             |
|   Your Markdown                                                             |
|        |                                                                    |
|        v                                                                    |
|   +-------------+                                                           |
|   |   Scanner   |  <- Looks for structural patterns                        |
|   +------+------+                                                           |
|          |                                                                  |
|          v                                                                  |
|   +-------------+                                                           |
|   |   Detect    |  <- Finds box drawing characters                         |
|   +------+------+                                                           |
|          |                                                                  |
|          v                                                                  |
|   +-------------+                                                           |
|   |   Count     |  <- Requires 2+ consecutive lines                        |
|   +------+------+                                                           |
|          |                                                                  |
|          v                                                                  |
|   +-------------+                                                           |
|   |   Wrap      |  <- Applies scaling container                            |
|   +-------------+                                                           |
|                                                                             |
+=============================================================================+

What Gets Detected

+=============================================================================+
|                                                                             |
|   THREE PATTERN CATEGORIES                                                  |
|                                                                             |
|   1. BOX DRAWING (Unicode U+2500-U+257F)                                    |
|   +-------------------------------------------------------------------+    |
|   |   CORNERS        LINES         INTERSECTIONS                      |    |
|   |   +- +- -+ -+    - |           +- -+ +- -+                        |    |
|   |                                                                   |    |
|   |   Examples:                                                       |    |
|   |   +-------+     +===+     +---+---+                               |    |
|   |   | Cell  |     | H |     | A | B |                               |    |
|   |   +-------+     +===+     +---+---+                               |    |
|   +-------------------------------------------------------------------+    |
|                                                                             |
|   2. PROGRESS INDICATORS                                                    |
|   +-------------------------------------------------------------------+    |
|   |   Loading   [=========>          ]  50%                           |    |
|   |   Complete  [====================]  100%                          |    |
|   +-------------------------------------------------------------------+    |
|                                                                             |
|   3. SEMANTIC SYMBOLS                                                       |
|   +-------------------------------------------------------------------+    |
|   |   Stars:  * * * * *                                               |    |
|   |   Checks: [x] Done  [ ] Pending                                   |    |
|   |   Arrows: --> ==> ->                                              |    |
|   +-------------------------------------------------------------------+    |
|                                                                             |
+=============================================================================+

The Two Line Rule

+=============================================================================+
|                                                                             |
|   WHY TWO LINES?                                                            |
|                                                                             |
|   ONE LINE - Too Many False Positives                                       |
|   +-------------------------------------------------------------------+    |
|   |   "Use the -> arrow to navigate"                                  |    |
|   |   "Rating: * * * * *"                                             |    |
|   |                                                                   |    |
|   |   These are PROSE, not ASCII art!                                 |    |
|   +-------------------------------------------------------------------+    |
|                                                                             |
|   TWO LINES - Just Right                                                    |
|   +-------------------------------------------------------------------+    |
|   |   +-------+    <- Line 1: Has corners                             |    |
|   |   +-------+    <- Line 2: Has corners                             |    |
|   |                                                                   |    |
|   |   This is definitely ASCII art!                                   |    |
|   +-------------------------------------------------------------------+    |
|                                                                             |
|   THREE LINES - Misses Valid Boxes                                          |
|   +-------------------------------------------------------------------+    |
|   |   +---+                                                           |    |
|   |   +---+   <- Only 2 lines, but valid!                             |    |
|   |                                                                   |    |
|   |   Would be missed with threshold of 3                             |    |
|   +-------------------------------------------------------------------+    |
|                                                                             |
+=============================================================================+
SMPC Decision: The Two Line Rule is a simple threshold that manages the chaos of detecting patterns in arbitrary text.

How Scaling Works

+=============================================================================+
|                                                                             |
|   THE SCALING PRINCIPLE                                                     |
|                                                                             |
|   "Scale the WHOLE block uniformly - never break internal alignment"        |
|                                                                             |
|   ORIGINAL (too wide for container)                                         |
|   +-----------------------------------------------------------------------+ |
|   |   +------------------+     +------------------+     +--------------+  | |
|   |   |     Module A     | --> |     Module B     | --> |   Module C   |  | |
|   |   +------------------+     +------------------+     +--------------+  | |
|   +-----------------------------------------------------------------------+ |
|                                                                             |
|                              |                                              |
|                              v                                              |
|                                                                             |
|   SCALED (fits perfectly)                                                   |
|   +--------------------------------------------------+                      |
|   |   +------------+    +------------+    +--------+ |                      |
|   |   |  Module A  | -> |  Module B  | -> | Mod C  | |                      |
|   |   +------------+    +------------+    +--------+ |                      |
|   +--------------------------------------------------+                      |
|                                                                             |
|   KEY PROPERTIES:                                                           |
|   - Internal proportions preserved                                          |
|   - Character relationships maintained                                      |
|   - Box alignments intact                                                   |
|   - Only the ENTIRE block shrinks                                           |
|                                                                             |
+=============================================================================+

Scale Behavior

+=============================================================================+
|                                                                             |
|   SCALE FACTOR RULES                                                        |
|                                                                             |
|   Container vs Content                  Result                              |
|   +------------------------------+     +---------------------------+       |
|   | Container: 600px             |     | Scale: 0.75 (shrink)      |       |
|   | Content:   800px             |     | Content fits in container |       |
|   +------------------------------+     +---------------------------+       |
|                                                                             |
|   +------------------------------+     +---------------------------+       |
|   | Container: 800px             |     | Scale: 1.0 (exact fit)    |       |
|   | Content:   800px             |     | No scaling needed         |       |
|   +------------------------------+     +---------------------------+       |
|                                                                             |
|   +------------------------------+     +---------------------------+       |
|   | Container: 1000px            |     | Scale: 1.0 (capped)       |       |
|   | Content:   800px             |     | NEVER enlarge             |       |
|   +------------------------------+     +---------------------------+       |
|                                                                             |
|   CONSTRAINT: Scale is capped at 1.0 - content is never enlarged            |
|                                                                             |
+=============================================================================+

The 600-Unit Guarantee

+=============================================================================+
|                                                                             |
|   CODEXMONO: EVERY CHARACTER = 600 UNITS                                    |
|                                                                             |
|   'A'  = 600 units                                                          |
|   '-'  = 600 units (horizontal line)                                        |
|   '|'  = 600 units (vertical line)                                          |
|   '+'  = 600 units (corner)                                                 |
|                                                                             |
|   No kerning. No variable spacing. Perfect grid alignment.                  |
|                                                                             |
|   RESULT:                                                                   |
|   +---+---+---+                                                             |
|   | A | B | C |   <- Lines connect perfectly                               |
|   +---+---+---+                                                             |
|   | D | E | F |   <- Vertical bars align exactly                           |
|   +---+---+---+                                                             |
|                                                                             |
|   CSS Transform preserves this 600-unit grid at any scale.                  |
|                                                                             |
+=============================================================================+

Verification Results

+=============================================================================+
|                                                                             |
|   TWO LINE RULE - TESTED                                                    |
|                                                                             |
|   Test: 1,000 markdown documents                                            |
|                                                                             |
|   THRESHOLD = 1                                                             |
|   +-------------------------------------------------------------------+    |
|   |   Detected: 847 boxes                                             |    |
|   |   False positives: 312 (36.8%)   <- Too many!                     |    |
|   +-------------------------------------------------------------------+    |
|                                                                             |
|   THRESHOLD = 2                                                             |
|   +-------------------------------------------------------------------+    |
|   |   Detected: 535 boxes                                             |    |
|   |   False positives: 3 (0.6%)      <- Optimal!                      |    |
|   |   Missed boxes: 0                                                 |    |
|   +-------------------------------------------------------------------+    |
|                                                                             |
|   THRESHOLD = 3                                                             |
|   +-------------------------------------------------------------------+    |
|   |   Detected: 498 boxes                                             |    |
|   |   Missed boxes: 37              <- Loses valid 2-line boxes       |    |
|   +-------------------------------------------------------------------+    |
|                                                                             |
+=============================================================================+
+=============================================================================+
|                                                                             |
|   SCALE MINIMUM - TESTED                                                    |
|                                                                             |
|   Question: How small can we scale before text becomes unreadable?          |
|                                                                             |
|   Base font: 12px                                                           |
|                                                                             |
|   SCALE = 0.5 (6px result)                                                  |
|   +-------------------------------------------------------------------+    |
|   |   Box characters: READABLE                                        |    |
|   |   ASCII letters:  READABLE with effort                            |    |
|   |   Structure:      CLEAR                                           |    |
|   +-------------------------------------------------------------------+    |
|                                                                             |
|   SCALE = 0.4 (4.8px result)                                                |
|   +-------------------------------------------------------------------+    |
|   |   Box characters: BLURRY                                          |    |
|   |   ASCII letters:  UNREADABLE                                      |    |
|   |   Structure:      AMBIGUOUS                                       |    |
|   +-------------------------------------------------------------------+    |
|                                                                             |
|   VERDICT: 0.5 is the minimum scale for readability                         |
|                                                                             |
+=============================================================================+

Key Principles

+=============================================================================+
|                                                                             |
|   THE BRICK PRINCIPLE                                                       |
|                                                                             |
|   "The fundamental unit maintains its integrity regardless of scale."       |
|                                                                             |
|   +-------------------------------------------------------------------+    |
|   |                                                                   |    |
|   |   Terminal                     Document                           |    |
|   |   +---------------+            +---------------+                  |    |
|   |   | Each cell is  |            | Each block is |                  |    |
|   |   | a fixed unit  |            | a fixed unit  |                  |    |
|   |   | with content  |            | with layout   |                  |    |
|   |   +---------------+            +---------------+                  |    |
|   |          |                            |                           |    |
|   |          v                            v                           |    |
|   |   Font size change             CSS Transform                      |    |
|   |   affects ALL cells            affects ALL chars                  |    |
|   |   equally                      equally                            |    |
|   |          |                            |                           |    |
|   |          v                            v                           |    |
|   |   Grid remains                 Layout remains                     |    |
|   |   aligned                      aligned                            |    |
|   |                                                                   |    |
|   +-------------------------------------------------------------------+    |
|                                                                             |
+=============================================================================+

“The Brick does not break under pressure - it scales.”