Substratal Apps Substratal Apps Hub specs
GitHub

Docs 00-shared brand BRAND.md

Substratal Apps — logo standard

The logo is part of the standard for every Hub app. This folder is the source of truth. Each platform folder has a brand-assets/ directory with the files that platform needs, generated from these masters. Don't redraw, re-colour or re-typeset them.

Logo standard

1. Concept

A mushroom cap sits above a ground line. The visible apps sit above ground; the API grows below as interlined roots. Two root strands twist through each other and out to both sides. A runner crosses them, and its ends are nodes. Crossings go alternately over and under, so the roots read as one network in both directions.

2. Anatomy and colour

Part Light (default) On dark Role in token file
Cap, stem, runner, runner nodes #E0457B pink #FF86AE A
Root strand 1 + node #3D3BB8 indigo #8E8CFF B
Root strand 2 + node #8DBF2E lime #C4EE6C C
Ground line #1A1838 ink #FFFFFF G

The gaps at crossings are transparent: they are clip-path cut-outs, not painted background. That means the mark works on any surface.

Wordmark: [substratal] set in JetBrains Mono Bold, tracking −0.03 em, shipped as outlined paths. The optional descriptor line is ◆ apps in JetBrains Mono Medium.

Wordmark part Light On dark
[ ] brackets #E2674A coral #FF9A80
sub #10272A ink #FFFFFF
stratal #137C7A teal #55CFC9
◆ #C9A26A sand #EBCB95
apps #10272A at 85 % #FFFFFF at 85 %

Icon surfaces: tint #E8E8F7 (light icon background), night #15132E (dark icon background and dark tiles), paper #F3F3FA.

All values are in brand-tokens.json.

3. Variants: which to use where

Variant File (svg/) Use
Mark mark.svg, mark-on-dark.svg App icons, avatars for source: platform notifications, places with no room for the name
Small mark mark-small*.svg Required at 24 px and below: favicons, the Windows title bar, menu-bar/tray, notification small icons, Linux symbolic. It keeps the cap, the ground and one twist, with heavier strokes.
Horizontal lockup lockup-horizontal*.svg Sign-in (AUTH-01), splash/about, marketing, store graphics
Inline lockup lockup-inline*.svg App chrome: the web sidebar header and compact headers. It has no descriptor line.
Stacked lockup lockup-stacked*.svg Launch screens, square spaces, empty-state hero
Wordmark wordmark*.svg Only where the mark already appears nearby
Mono *-black.svg, *-white.svg Template images (macOS menu bar), Android themed/monochrome icons, Web Push badge, single-colour print
App icon app-icon.svg, app-icon-dark.svg Generic rounded tile. Each platform's own icon is in its brand-assets/.

PNG exports are in png/: the mark at 128–1024 px, every lockup at @1x/@2x/@3x, and the app icon tiles at 1024 px.

4. Size, clear space, backgrounds

  • Clear space: ¼ of the mark's height on every side, measured from the cap top to the root nodes. Nothing else enters that space.
  • Minimum size:
    • Full mark: 32 px. Below that, use the small mark, down to 16 px.
    • Horizontal lockup: 120 px wide.
    • Inline lockup: 20 px tall.
  • Backgrounds:
    • Light variants on white, paper, tint or any surface lighter than 75 % L*.
    • On-dark variants on night, ink or any surface darker than 35 % L*.
    • Mono in between, or on photos.
  • Icon layout:
    • The mark fills about 76 % of the tile.
    • It is optically centred, nudged down 1 % so the cap doesn't feel top-heavy.
    • Android adaptive icons keep the mark inside the 66 dp safe circle (scale 0.94 on a 108 dp canvas).
    • Web maskable icons use 64 % so the mark stays inside the 80 % safe zone.

5. Don'ts

  • Don't recolour individual parts, swap the strand colours, or render the mark in the wordmark's palette.
  • Don't fill the crossing gaps or add outlines, shadows, gradients or glows. The only exceptions are the platform icon treatments in brand-assets/ (the macOS body, Liquid Glass layers).
  • Don't re-set the wordmark in live text or another font, or drop the brackets.
  • Don't use the full mark below 32 px. Don't place the light mark on dark surfaces or the reverse.
  • Don't add "Hub" to the logo. The product is named Substratal in UI chrome, and the logo's accessible name is "Substratal Apps".

6. Where the logo appears in the Hub (all platforms)

Place Asset Notes
App icon (launcher, Dock, taskbar, Start, store) platform brand-assets/ iOS/macOS include dark and tinted appearances; Android includes an adaptive and themed monochrome icon; Windows has plated and unplated versions for the light and dark taskbar.
Sign-in and 2FA (AUTH-01/02) Horizontal lockup above the form role="img" / accessibility label "Substratal Apps". Developer builds: long-pressing the lockup reveals the test-mode toggle (SCREEN-SPECS AUTH-01).
Launch / splash Stacked lockup or mark on the icon surface iOS UILaunchScreen, Android SplashScreen API, Windows MSIX splash, PWA manifest colours.
Web sidebar header Inline lockup, 24 px tall Collapsed sidebar shows the small mark only.
Windows title bar Small mark, 16 px, followed by the text "Substratal" AppWindow.SetIcon("Substratal.ico"). Use Substratal-dark.ico when the title bar is dark.
macOS menu-bar extra (optional) MenuBarIcon template image Black small mark; the system tints it.
Notifications (system) App icon (large), small mark (Android small icon / Web Push badge) ic_stat_substratal, badge-96.png
Inbox rows / detail for source: platform App icon tile Treat as decorative; the row already reads "Substratal".
About / Settings › About Horizontal lockup + version
macOS/GNOME window titles, sidebars No logo. Text title only, per HIG

7. Files

brand/
├── BRAND.md · brand-tokens.json · logo-standard.png
├── svg/   mark, mark-small, lockup-horizontal, lockup-inline, lockup-stacked, wordmark
│          × {light, -on-dark, -black, -white}; app-icon.svg, app-icon-dark.svg
└── png/   mark{,-on-dark}-{128,256,512,1024}.png · <lockup>{,-on-dark}@{1,2,3}x.png · app-icon{,-dark}-1024.png

Platform kits: ios/brand-assets, macos/brand-assets, windows/brand-assets, android/brand-assets, linux/brand-assets, web/brand-assets. Each PLATFORM-SPEC.md has a "Brand & app icon" section explaining how to wire them in.