foxygit / Torlinkc Log in
commit 2bd9583072ff4b728f81880d858e2f435e00aff3
Author:     MrJensK <jens.se@icloud.com>
AuthorDate: Sun Aug 23 12:09:52 2026 +0200
Commit:     MrJensK <jens.se@icloud.com>
CommitDate: Sun Aug 23 12:09:52 2026 +0200

    Restore the block-art logo, with a "- C++" caption underneath

    Reverts the plain-text wordmark from the previous commit: the block font
    (no case distinction) already reads as "TORLINK", so the original three
    lines come back unchanged, with a small "- C++" line added below to keep
    the C++-rewrite branding.
---
 include/torlinkc/ui/logo.hpp | 10 ++++++----
 src/ui/logo.cpp              | 14 ++++++++++++--
 2 files changed, 18 insertions(+), 6 deletions(-)

diff --git a/include/torlinkc/ui/logo.hpp b/include/torlinkc/ui/logo.hpp
index f3c2923..13696de 100644
--- a/include/torlinkc/ui/logo.hpp
+++ b/include/torlinkc/ui/logo.hpp
@@ -4,11 +4,13 @@

 namespace torlinkc::ui {

-inline constexpr int kLogoWidth = 13;  // "TORLINK - C++"
+inline constexpr int kLogoWidth = 27;

-// The "TORLINK - C++" wordmark, rendered with a horizontal accent->bright
-// gradient (per-cell sheen from the original simplified to a static
-// gradient -- see the Phase 4 commit message).
+// The original torlink block-art wordmark (reads as "TORLINK" -- a block
+// font has no case distinction), with a "- C++" caption underneath. The
+// block art has a horizontal accent->bright gradient (per-cell sheen from
+// the original simplified to a static gradient -- see the Phase 4 commit
+// message).
 ftxui::Element renderLogo();

 }  // namespace torlinkc::ui
diff --git a/src/ui/logo.cpp b/src/ui/logo.cpp
index d98e037..e2502c3 100644
--- a/src/ui/logo.cpp
+++ b/src/ui/logo.cpp
@@ -10,10 +10,18 @@ namespace torlinkc::ui {

 namespace {

+// The original torlink block-art wordmark: a block font has no real
+// upper/lowercase distinction, so this already reads as "TORLINK". Ported
+// from ui/logo.ts::LOGO_LINES.
 const std::vector<std::string> kLogoLines = {
-    "TORLINK - C++",
+    "      𐓏                     ",
+    " β–€β–ˆβ–€ β–ˆβ–€β–ˆ β–ˆβ–€β–ˆ β–ˆ   β–ˆ β–ˆβ–„ β–ˆ β–ˆβ–„β–€",
+    "  β–ˆ  β–ˆβ–„β–ˆ β–ˆβ–€β–„ β–ˆβ–„β–„ β–ˆ β–ˆ β–€β–ˆ β–ˆ β–ˆ",
 };

+// Roughly centered under the block art above (~27 columns wide).
+const char* kCaption = "           - C++";
+
 // accent (#a78bfa) -> bright (#d8b4fe), matching ui/theme.ts::ACCENT_RAMP.
 constexpr int kAccentR = 167, kAccentG = 139, kAccentB = 250;
 constexpr int kBrightR = 216, kBrightG = 180, kBrightB = 254;
@@ -53,7 +61,9 @@ Element renderLogo() {
     }
     rows.push_back(hbox(std::move(cells)));
   }
-  return vbox(std::move(rows)) | bold;
+  Element wordmark = vbox(std::move(rows)) | bold;
+  Element caption = text(kCaption) | dim;
+  return vbox({wordmark, caption});
 }

 }  // namespace torlinkc::ui