---
id: 74d604cb-1e71-49fc-8462-63ce3ee4e918
title: Owner block-art logo (ansi + plain)
state: closed
labels:
- area:render
assignees: []
milestone: m6-polish
created: 2026-09-10T06:19:03.101015090Z
updated: 2026-09-10T07:24:50.686953691Z
---
Context: Owner supplied the official hu13 block-art logo (12-line ANSI terminal art, magenta/cyan/grey on Tokyo Night). It replaces the provisional line-art banner.
Raw ANSI original: 12 lines (kept verbatim in this issue body? NO — stored as static/logo-ansi.txt). Plain render (ANSI stripped): block glyphs reading "hu13".
Tasks:
1. `static/logo-ansi.txt`: owner's 12 lines VERBATIM including all `[...m` codes (supervisor has the exact text in /tmp/hu13plan/owner-art-raw.txt — copy byte-for-byte, do not retype).
2. `static/ascii.txt`: plain version (ANSI stripped, `sed 's/\[[0-9;]*m//g'`). Must read "hu13" in block glyphs, 12 lines. Used by wiki README + logo::ascii_pre (web <pre>).
3. Purity test update (tests/logo.rs): ascii.txt charset becomes block set (space + █ ▓ ▒ ░ ▄ ▀ ▌ ▐ + existing | - / _) — still no letters, no `<>&`. New test: stripping ANSI from logo-ansi.txt yields ascii.txt byte-for-byte. ANSI file itself: assert it contains ESC-free `[...m` codes + block glyphs (it is stored with literal codes, not raw ESC bytes — see raw file).
4. Terminal use: print logo-ansi.txt (interpreted — terminal renders colors) in `hu13 --version`? Decide: YES, small — append plain banner after version ONLY when stdout is a tty (no ANSI dump into pipes). Keep zero-dep (own isatty via std? `std::io::IsTerminal` — stable, use it).
5. wiki README: already shows old banner — rebuild picks up new art automatically (verify in dogfood).
Success rubric:
- [ ] `--version` on tty shows colored banner; piped shows plain version line only.
- [ ] ascii.txt renders "hu13" in <pre>; strip-test green; purity test green.
- [ ] No raw ESC bytes in repo (`grep -r $'\x1b' static/ | empty`).
Swarm: Owl. Branch `m6/owner-logo`. STATUS: FILED — WAIT FOR OWNER GO-AHEAD before dispatch (owner said "then wait").
