← ALL DOCUMENTS

Ω 20 — Menus, Hub, Hangar & Shop

20 — Menus, Hub, Hangar & Shop

Purpose

This document specifies all meta-screen layouts and flows outside of active gameplay: the main menu, Achernar Station hub, hangar, shop, and navigation between them. These screens represent the player's "home" — between missions, between sessions, between decisions.


Design Language

All meta screens share a common visual language derived from the game's identity:

  • Background: Deep space, static. Stars rendered as very small dim dots. No scrolling or parallax in v1.0.
  • Typography: DM Sans for UI copy, DM Mono for numbers and stats
  • Accent color: Lime #c8f542 for active states, selection highlights, and primary CTAs
  • Palette: Dark backgrounds (--color-background-primary), muted secondary surfaces, lime accents. Warm Telos-gold used only for specific Telos-adjacent content (boss records, Veiled Token economy).
  • Card corners: --border-radius-lg (12px) for all cards and panels
  • Borders: 0.5px --color-border-tertiary for surfaces; --color-border-secondary on hover/active

Screen 1 — Main Menu

First Launch

On absolute first launch (no save data):

  1. CDL Production logo (2 seconds, fade in/out)
  2. Black screen, single line fades in: "We do not cross."
  3. Line fades out. Game title "TAO BARYON" fades in, lime #c8f542, DM Mono, 28px
  4. Subtitle: "A CDL Production" in 11px DM Sans, muted
  5. Tap anywhere prompt appears after 2 seconds
  6. → FTUE flow begins (see 23_ftue.md)

Returning Player

On subsequent launches:

  1. Splash with game title (1 second)
  2. Main menu loads

Main Menu Layout

[TAO BARYON]              ← title, top-center, lime
[CDL Production]          ← subtitle, muted, 11px

[CONTINUE]                ← primary button, loads last session
[CAMPAIGN]                ← secondary button
[ENDLESS MODE]            ← secondary button (locked until S30 cleared)
[HANGAR]
[CODEX]
[SETTINGS]

[Pilot Rank badge]        ← bottom-left
[Version number]          ← bottom-right, muted 10px

Button styling:

  • Primary (CONTINUE): lime background, dark text, --border-radius-md
  • Secondary: transparent background, --color-border-secondary border, --color-text-primary text
  • Locked (ENDLESS pre-S30): muted text, lock icon, non-tappable
  • All buttons 52px height, full-width minus 32px horizontal padding

Pilot Rank badge (bottom-left): Small card showing rank numeral, current title, and XP progress bar to next rank. Tapping it opens the profile screen.


Screen 2 — Campaign Map

Accessed from: Main menu → CAMPAIGN

Layout

Vertical scroll list of all 5 sectors, each expanded to show its stages.

Sector header card:

  • Sector name (e.g., "Sector 1 — The Frontier")
  • Stage count and completion: "6 / 6 Stages"
  • Sector medal (Bronze/Silver/Gold — see 17_achievements.md)
  • Collapse/expand toggle

Stage entry row:

  • Stage number + name (e.g., "Stage 6 — Reverent Maelin")
  • Recommended rank badge
  • Completion star (hollow if not cleared, filled if cleared)
  • No-damage badge (lime dot) if no-damage clear achieved
  • Best score in DM Mono, muted
  • Locked stages: row is dimmed, lock icon

Tap a stage: Opens Stage Intel Briefing → begins stage

Visual progression: Cleared stages have a subtle filled background. Current "frontier" stage (first uncleared) has a lime left accent strip. Future locked stages are dimmed.


Screen 3 — Achernar Station (Hub)

Accessed from: After stage clear, or main menu → CONTINUE

Purpose

The hub is the player's emotional anchor. It should feel like returning somewhere. Not a menu — a place. The design intent: coming home from a mission.

Layout

The hub is a single scrollable screen with sections:

┌──────────────────────────────────┐
│  ACHERNAR STATION                │  ← header, small, muted
│  [Sira-Vel greeting line]        │  ← changes per session/milestone
│                                  │
│  ┌──────────┐  ┌──────────┐      │
│  │ CAMPAIGN │  │  ENDLESS │      │  ← primary action cards
│  │ Stage 23 │  │  Depth-- │      │
│  └──────────┘  └──────────┘      │
│                                  │
│  [HANGAR]  [SHOP]  [CODEX]       │  ← secondary navigation row
│                                  │
│  ─── Recent Unlocks ───          │
│  [achievement card if any]       │
│  [codex card if any]             │
│                                  │
│  ─── Daily ───                   │
│  [Daily login bonus card]        │
│                                  │
│  ─── Status ───                  │
│  [Active build timer card]       │
│  [Energy bar + refill timer]     │
└──────────────────────────────────┘

Sira-Vel Greeting Line

A single line of text below the header. Changes contextually:

  • Default: "The station is ready. What's next, Commander?"
  • After boss defeat: "[Boss name] is down. The sector is opening."
  • After no-damage clear: "Flawless. The engineers noticed."
  • At low energy (≤1): "Energy reserves low. Rest, or we find another way."
  • At Rank milestone: "Rank [N]. Something else unlocks."
  • At max combo (10×) stage: "I reviewed the telemetry. That was notable."

Lines are authored, not generated. A pool of ~40 contextual lines cycles based on conditions, with no-repeat logic.

Primary Action Cards

Two large cards side by side (if campaign ongoing and endless unlocked) or one full-width card (pre-S30):

Campaign card:

  • Background: dark blue-tinted surface
  • Stage number + name in medium text
  • Recommended rank badge
  • "LAUNCH" button in lime

Endless card (post-S30):

  • Background: dark purple-tinted surface
  • Current depth record in DM Mono
  • "ENTER" button

Secondary Navigation Row

Three equal-width icon buttons below the primary cards: HANGAR (ship icon), SHOP (store icon), CODEX (book icon). Each has a notification pip if new content is available.

Recent Unlocks Section

If any achievements or codex entries unlocked since the last hub visit: a horizontally-scrolling row of cards, one per unlock. Each card: tier color left strip, name, tap to view. Clears after viewing. Missing if nothing new.

Energy Bar

At the bottom of the hub, always visible:

⚡ 5 / 8   [███████░░]   Next in 06:42
  • Energy pip icons (filled = available, empty = depleted)
  • Text timer showing time until next energy point
  • "Watch Ad" button for +1 energy (30-min cooldown shown if spent)

Screen 4 — Hangar

Accessed from: Hub → HANGAR, or Main Menu → HANGAR

Purpose

The hangar is where the player manages their fleet. It must communicate both what they own and what they're working toward.

Layout

Top: Horizontally scrolling ship cards Middle: Selected ship detail panel Bottom: Upgrade/Build action panel

Ship Card (horizontal scroll)

Each ship has a card (80px × 100px):

  • Ship name in 11px DM Mono
  • Series badge (H / V / C) color-coded
  • Mark indicator (M0–M3) in small text
  • If not owned: dimmed, "BUILD" label, estimated build time
  • If owned: ship silhouette art (pixel-art style), mark indicator in lime
  • If Legendary mastery: small badge icon (see 16_pilot_rank.md)
  • Selected state: card gains lime border

Order: Always H-1, H-2, H-3, V-1, V-2, V-3, C-1, C-2, C-3. Locked ships appear but are grayed.

Ship Detail Panel (selected ship)

Shows the full detail of the selected ship:

[Ship name]                        [Series badge]
[Mastery progress bar: Trained]

[Stats grid]
HP: ████░░  200     Speed: 1.15×
Fire Rate: 1.15×    Hitbox: Small

[Passive ability]
Coalition Standard — 2 shield charges on stage start + HP regen

[Mark indicator: M0 M1 M2 [M3]]
[Upgrade to M3 button] or [Already at M3]

[Module Loadout]
[Offense slot: Kinetic Amplifier M2]  [tap to change]
[Defense slot: Hull Membrane M1]      [tap to change]
[Utility slot: Pickup Magnet M2]      [tap to change]

[Weapon Mount]
[Penrose Lance M3 — Native]           [tap to change]

Active ship indicator: A lime "ACTIVE" badge on the currently selected battle loadout. Tapping a different ship and confirming switches the active loadout.

Module Slot Tap → Module Picker

Tapping a module slot opens a bottom sheet:

  • List of all owned modules of that slot type
  • Each shows: module name, tier, description summary, affinity with current ship
  • Native-affinity modules listed first with a small "N" badge
  • Tap to equip, tap again to confirm

Weapon Mount Tap → Weapon Picker

Same pattern as module picker. Lists all owned weapons with affinity badge (N / C / F).

Upgrade / Build Action Panel (bottom sheet style)

When a ship is selected that is not at M3 or not yet owned:

If not owned:

[Build H-2 Interceptor]
Cost: 3,500 credits · 30 min build
Requires: Pilot Rank 5 · Sector 1 cleared

[BUILD]  ← button, lime if affordable / grayed if not

If owned but not M3:

[Upgrade to M3 — H-2 Interceptor]
Cost: 20,000 credits · 6 Blueprint Shards
Build time: 2 hours

[UPGRADE]

If at M3: No action panel — a small "Fully Upgraded" label in muted text.


Screen 5 — Shop

Accessed from: Hub → SHOP

Philosophy

The shop is a service, not a casino. No loot boxes. No mystery packs. Every item is visible at full price before purchase. The player knows exactly what they are buying.

Layout

Top tab bar: SHIPS | WEAPONS | MODULES | COSMETICS

Each tab is a scrollable list of buildable items.

Ships Tab

Lists all 9 ships in series order. For each:

  • Ship name + series badge
  • Mark currently owned (or "Not built")
  • Current upgrade cost and time for next mark
  • Tap → opens build/upgrade confirmation bottom sheet

Build/upgrade confirmation sheet:

  • Full item name + description
  • Cost breakdown: credits + shards + tokens (if applicable)
  • Build time + ad-skip option
  • Current inventory shown below: "Credits: 45,230 / 100,000" — red if insufficient
  • CONFIRM BUILD or CONFIRM UPGRADE button

Weapons Tab

Same structure. Lists all 8 weapons.

Modules Tab

Grouped by slot type (Offense / Defense / Utility). Each module shows:

  • Module name, tier, slot type
  • Brief effect description (1 line)
  • Affinity note: "Native for H-Series ships" in muted text
  • Cost + build time

Cosmetics Tab

Lists all cosmetics available for purchase:

  • Engine trails (all unlockable, some rank-gated, some achievement-gated)
  • Titles (listed even if achievement-gated — shows "Earn via: [achievement name]")
  • Hull accents
  • Banners

Cosmetics that are achievement-exclusive show their achievement condition instead of a price. This creates an aspirational display — the player can see what exists and what they'd need to do to earn it.

No direct purchase of achievement cosmetics. They are not for sale. Ever.

Active Builds Queue

A persistent banner at the top of the shop screen (if a build is active):

⏳ H-2 Interceptor M2 — 1h 23m remaining   [Skip Ad: 40min]

Only one build slot. Queue is not available in v1.0.


Screen 6 — Pilot Profile

Accessed from: Hub → rank badge, or Main Menu → rank badge

Layout

[PILOT PROFILE]

[Rank numeral with tier frame]
[Rank N — "Apparatus Breaker"]
[XP bar: 217,800 / 236,800]

[Title: "Apparatus Breaker" ▼]   ← tap to change from owned titles
[Banner: "Beyond the Veil" ▼]    ← tap to change from owned banners

─── Stats ───
Total stages cleared: 24
Boss kills: 4
Highest combo: 9.8×
Best endless depth: 0
Total enemies: 14,312
Total playtime: 38h 22m

─── Achievements ───
[progress bar: 28 / 72]
[View all →]

Title selector (bottom sheet): Lists all owned titles, current selected has lime checkmark. Tap to equip, closes sheet.


Navigation Architecture

Main Menu
├── Campaign Map → Stage Intel → [game] → Stage Clear → Hub
├── Endless Mode → [game] → death → Hub
├── Hangar
│   ├── Module Picker (sheet)
│   └── Weapon Picker (sheet)
├── Shop
│   ├── Build Confirmation (sheet)
│   └── Active Build Banner
├── Codex (→ see 21_codex_ui.md)
├── Settings (→ see 22_settings.md)
└── Profile

Hub
├── Campaign Card → Stage Intel → [game]
├── Endless Card → [game]
├── Hangar (tab switch)
├── Shop (tab switch)
└── Codex (tab switch)

Back navigation: Standard platform back gesture / button returns up one level. From game → hub (not main menu). From hub → main menu only via explicit exit.

No loading screens between hub sections. The hub, hangar, shop, and codex are the same screen with tab switching — they share the same state and switch without loading.


Transition Animations

Transition Animation Duration
Main menu → hub Cross-fade 300ms
Hub tab switch Slide in from direction of tab 200ms
Bottom sheet open Slide up 250ms ease-out
Bottom sheet close Slide down 200ms ease-in
Stage Intel overlay Fade in 300ms
Gameplay start Black flash → playfield 400ms
Stage clear Playfield fade to dark 800ms
Hub return after clear Fade in 300ms

All transitions use ease-out for entries (feels snappy) and ease-in for exits (feels intentional, not jerky).


Summary — Locked Decisions

  1. Main menu: 6 buttons (Continue, Campaign, Endless, Hangar, Codex, Settings), rank badge, first-launch FTUE path
  2. Campaign map: vertical sector list, stage rows with completion/no-damage indicators, sector medals
  3. Hub: Achernar Station framing, Sira-Vel contextual greeting (pool of ~40 authored lines), primary action cards, energy bar, recent unlocks section
  4. Hangar: horizontal ship scroll, detail panel with stats/passive/module loadout/weapon mount, module/weapon pickers as bottom sheets
  5. Shop: 4 tabs (Ships/Weapons/Modules/Cosmetics), no loot boxes, achievement cosmetics shown but not purchasable, single active build slot
  6. Profile: rank frame, title/banner selectors, stats grid, achievement progress
  7. No loading screens between hub sections — tab switching only
  8. All transitions: ease-out for entry, ease-in for exit; max 800ms
  9. Cosmetics tab shows achievement-gated items with conditions — aspirational display without predatory upsell

Document version: 1.0 (locked) Part of: Tao Baryon GDD — Tier 4 UX & Meta