The first nine dials are the constants in crt.glsl — one shader shared by every tube profile; screen padding is a per-profile Ghostty setting. The preview above runs the identical shader math, so what you see is what Ghostty renders.
Type a wordmark, pick a face, and Send to screen to see it on the tube
through the CRT shader in the selected machine's palette. Copy as banner file emits a
ready-to-paste banners/<machine>.txt block — the #: color
header is filled from the selected machine. Banners read best at ≤ 66 columns; try
kerned or smushed spacing when a word runs wide.
Paste the publish command into your terminal — it writes
retro/<slug> (and the shared crt.glsl if CRT is on) and
opens a new window wearing this profile. A running window keeps the look it was
launched with — pasting into one won't repaint it; ⌘⇧, only reloads the shared shader.
Nothing here touches your files until you paste.
Retro Terminals · Ghostty Studio — browse, tune, publish. Colors from build_profiles.py; shader from shaders/crt.glsl. Re-run build_ghostty.py --studio after editing the SPEC.