01·a Pipeline
Est. 2026
Nodes 7,513 · Edges 24,363 · Tokens 122
Rev. Apex Fullmerge · Lic. Open
VHX
§0000
Setting the type
Geist Mono, set without apology.
VHX
ThinAa Bb 01 ←→ ░▒▓█100
UltraLightAa Bb 01 ←→ ░▒▓█200
LightAa Bb 01 ←→ ░▒▓█300
RegularAa Bb 01 ←→ ░▒▓█400
MediumAa Bb 01 ←→ ░▒▓█500
SemiBoldAa Bb 01 ←→ ░▒▓█600
BoldAa Bb 01 ←→ ░▒▓█700
BlackAa Bb 01 ←→ ░▒▓█800
UltraBlackAa Bb 01 ←→ ░▒▓█900
mega240240 / 800
displayType, set.96 / 200
h2Deterministic.52 / 800
h3Every glyph carries a fallback.24 / 600
bodyThe page lints itself on mount and reports in §08.16 / 400
uimetric_row · dash · 24 tests · 100%13 / 500
microSwiss TUI Canon · Apex10 / 700
§0101
The contract
Determinism, or nothing.
01·b Surface profiles
| Profile | Color | Glyph | Motion |
|---|
01·c Quality gates
rect_grid | no ragged rows |
border_closes | corners match |
no_tab | tabs break cells |
grapheme_safe | no width drift |
ascii_fallback | required |
contrast | ≥ 4.5 (text) |
flash | ≤ 3 / s |
reduced_motion | → 8 fps step |
§0202
Palette
Eleven themes, nine slots each.
§0303
Atoms
Density · borders · glyphs.
03·a Density ramp — 6 steps, measured
03·b Sparkline — 8 steps, falls to ramp
▁ ▂ ▃ ▄ ▅ ▆ ▇ █
Fallback →
. - = + * # @Flow
──→ ←── ─┬─ ─┼─
Tesseract vertices
· far ◇ mid ◆ near
§0404
Moving pictures
Motion is a formula, not a mood.
04·a Behaviors
| id | formula | rig. |
|---|---|---|
breathe | base + A·sin(2π · 0.25 · t) | 0.25 |
conveyor | ⌊t·12⌋ mod L | 0.90 |
water | ½n₁ + ³⁄₁₀n₂ + ¹⁄₅n₃ | 0.15 |
smoothstep3 | x²(3−2x) | — |
04·b Machines — 8 state machines, every state listed
breathe(t)
conveyor(t)
water(x,y,t)
§0505
Live specimen
Four atoms, rotating.
§0606
After Paul Bourke · Acerola
ASCII is not pixels. Shape matters.
06·a Source signal
→ 96×96 luma field, rotating.
06·b Rendered with shape vectors
06·c Controls
Contrast exponent
Shape mode
Note Shape mode uses per-glyph top/middle/bottom density; pixel mode uses a single luma-to-char lookup. Edges sharpen, rings form.
§0707
In the lineage of cmatrix · pipes.sh · unimatrix
Screensaver as system check.
vhx-time 0.4.1
accentphosphor
frame0000
t0.00s
cells0
reduced-motionoff
§0808
Atoms, shipped
Twelve sprites for agents & status.
§0909
Families
Fourteen component families.
09·a metric row — dashboards
09·b sparkline — charts
09·c table
09·d form — error state
09·e control matrix
09·f message stream
09·g navigation rail
09·h flow diagram
§1010
Breakage math
Borders don't break, probabilistically.
cols 80 · bp standard
P(break) 0.00
10·a formula
P = clamp01( smoothstep3(1 − (cols − min)/(min·0.5)) + 0.25 · has_wide_glyphs + 0.15 · has_ligatures + 0.20 · near_breakpoint )
10·b breakpoints · 4-cell hysteresis
| narrow | 40 — 79 |
| standard | 80 — 119 |
| wide | 120 — |
10·c live breakdown
§1111
Self-validation
The page lints itself.
11·a rolled-up report
§1212
Implementation
Six export targets.
§1313
Accessibility
Eight non-negotiable rules.
AX
contrast.text≥ 4.5 · WCAG AAAX
contrast.non_text≥ 3.0AX
flash≤ 3 / s · WCAG 2.3.1AX
reduced_motioncadence → 8 fps stepAX
ascii_fallbackrequired for every primitiveAX
pause_availablefor motion > 5 sAX
status_glyphnever color-onlyAX
plain_textsnapshot ≡ renderedStatus, stripped of color
✓ OK build passed · 12s ▲ WARN rate limit · 840 / 900 ✗ ERROR upstream timeout · retry 3 / 5 ◇ INFO agent idle · wake < 0.1s
Each prefix carries meaning even when color is stripped.
§1414
Live data
Eight instruments, all in cells.
14·a trend — multi-line plot
14·b heatmap — activity by hour
14·c horizontal bars — system perf
14·d vertical bars — daily active
14·e spinners — six rotors
14·f progress — four idioms
14·g wave + glow
14·h message status