$ kitEvery component in the design system, rendered live. Type sits on a 1.5rem baseline grid; one line is six spacing units.
## type scale ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
every line-height is a whole multiple of --lh, so vertical rhythm never drifts
text-4xl arda-sys.dev
text-3xl arda-sys.dev
text-2xl arda-sys.dev
text-xl arda-sys.dev
text-lg arda-sys.dev
text-base arda-sys.dev
text-sm arda-sys.dev
text-xs arda-sys.dev
## glyph coverage ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
ascii punctuation $ > # → ← ↑ ↓ · • …
box drawing U+2500 ─ │ ┌ ┐ └ ┘ ├ ┤ ┬ ┴ ┼ ═ ║ ╔ ╗ ╚ ╝
block elements U+2580 █ ▉ ▊ ▋ ▌ ▍ ▎ ▏ ▀ ▄ ░ ▒ ▓ ▁ ▂ ▃ ▅ ▆ ▇
geometric U+25A0 ■ □ ▪ ▫ ▲ △ ▶ ▷ ▼ ▽ ◀ ◁ ● ○ ◆ ◇
braille U+2800 ⠁ ⠃ ⠇ ⠏ ⠟ ⠿ ⡿ ⣿ ⣷ ⣯ ⣟ ⢹
tiling (no letter-spacing — corners must meet) ┌──────────┬──────────┐
│ ▁▂▃▄▅▆▇█ │ ░▒▓█▓▒░ │
└──────────┴──────────┘ $ measuring… ## prompts ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
$ a command line→ a forward link← a back link# a root shell> program outputwith a blinking cursor █
## rules ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
················································································································································································································································································································································································································
════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════
labelled ─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄─┄
## structure ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
src/
├── components
│ ├── ascii
│ │ └── ascii-canvas.tsx
│ ├── terminal
│ │ └── prompt.tsx
│ └── ui
├── lib
│ ├── ascii.ts
│ └── shaders.ts
└── styles
└── globals.css
framework ........................................................................................................................................................................................................ next 16.2.11
typeface ........................................................................................................................................................................................................ jetbrains mono
baseline ........................................................................................................................................................................................................ 1.5rem
palette ........................................................................................................................................................................................................ monochrome
radius ........................................................................................................................................................................................................ 0 ## data ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[ ████░░░░░░░░░░░░░░░░ ] 18% [ ████████████░░░░░░░░ ] 62% [ ████████████████████] 100% requests/s ▁▃▁▄▅▃▇▅▂▆█▄▂▆
[ active] [ wip] [ archived] [ 2026]
## output ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
00:12:03 [ info ] resolving dependencies 00:12:04 [ ok ] compiled 9 routes 00:12:05 [ warn ] unused export in braille-loader.ts 00:12:05 [ fail ] no test runner configured build.log [copy]
1 npm run build
2 ✓ Compiled successfully in 1226ms
3 ✓ Generating static pages (9/9)
## motion ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
all of this stops under prefers-reduced-motion
▓▒░ arda-sys.dev ░▒▓ a personal site and a pile of small browser experiments ░▒▓ ▓▒░ arda-sys.dev ░▒▓ a personal site and a pile of small browser experiments ░▒▓
$ whoami && cat /etc/motd █ ## cards ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
composition slots, same border + corner-glyph construction as the header island. Pass href to make the whole card a link — hover lifts the border and slides the arrow. The frame recolours through className and cornerClassName.
## tilt ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
wraps anything and rotates it toward the pointer on a spring, with a slight lift. Children pass straight through, so they stay server-rendered. Stops entirely under prefers-reduced-motion.
+ + + +
default [ 8°] Peak rotation of 8 degrees with a 1.02 lift.
+ + + +
strong [ 16°] max=16 and lift=1.05 for a heavier throw.
+ + + +
flat [ 5°] lift=1 drops the scale — rotation only.
## ascii text ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
asciifyText is a pure string transform — server-rendered, zero client JS. `fit` sizes the art to exactly span its container.
███ ██████ █████ ███
██ ██ ██ ██ ██ ██ ██ ██
██ ██ ██ ██ ██ ██ ██ ██
███████ ██████ ██ ██ ███████
██ ██ ██ ██ ██ ██ ██ ██
██ ██ ██ ██ ██ ██ ██ ██
██ ██ ██ ██ █████ ██ ██ ██ ██
██ ██
████ █ ████ █████ ████ █████ ██ ██ █████ █████ █████ ██ ██
██ ██ ██ ██ ██ ██ █████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
█████ ██ ██ ██ █████ █████ ██████ █████ ██ ██ ███████ ██ ██
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ███
████ █ ██ █████ ████ █ █████ █████ █████ ██ █████ █████ █ ## shaders → ascii ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
WebGL2 fragment shaders sampled per frame into the ASCII converter — no three.js. Move the pointer over one.
plasma
tunnel
flow
torus
kaleidoscope
fire
mandelbrot
ripple
terrain
spiral
voronoi
metaballs ## controls ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
outline secondary ghost
default outline secondary ⌘ K Loading ⢣⠀⠀⠀
Loading ⠇⠀⠀⠀
Loading ⣴⣄⣀⣴⣀
morph ▼
dialog menu popover tooltip toast
table accordion
name status commits world-wide-clicker [wip] 42 ascii-kit [live] 118 morph-bg [archived] 7