Hub Reveal Levels
The hub uses progressive disclosure: a new player does not see the full metagame UI on first contact. Instead, the hub passes through four reveal states gated by prologue and early-chapter completion. Each state turns on a specific subset of visibility flags so the surface area grows in step with the player’s understanding.
Reveal level is a derived value of type HubRevealLevel = 'locked' | 'hub_lite' | 'hub_mid' | 'hub_full'. The mapping from level to visibility flags lives in HUB_REVEAL_RULES in src/starship-survivors/data/prologue-config.ts. Each rule object exposes six booleans: showCurrencyBar, showBottomNav, showShopTab, showCollectionTab, showMissionsBtn, showSystemsBtn.
The four levels
locked — the hub is not yet accessible. All six flags are false. The player is still inside the prologue tunnel (the 4-beat guided first run defined by PROLOGUE_BEATS) and has not yet earned the right to see hub chrome.
hub_lite — entered when the prologue tunnel is complete. All six flags remain false. The hub is technically reachable but every piece of metagame chrome is still hidden. This level exists as a quiet landing pad: the player arrives in the hub for the first time without being hit with currency, navigation, shop, collection, missions, or systems UI all at once.
hub_mid — entered when Chapter 1 is complete. Five of the six flags flip on: showCurrencyBar, showBottomNav, showShopTab, showCollectionTab, showMissionsBtn. The systems button (showSystemsBtn) stays false. This is the “normal” metagame surface — currency, shop, collection, and missions are now first-class — but deeper systems remain hidden behind one more gate.
hub_full — entered when Chapter 2 is complete. All six flags are true. The systems button comes online and the hub is fully revealed.
What changes between levels
| Flag | locked | hub_lite | hub_mid | hub_full |
|---|---|---|---|---|
showCurrencyBar | off | off | on | on |
showBottomNav | off | off | on | on |
showShopTab | off | off | on | on |
showCollectionTab | off | off | on | on |
showMissionsBtn | off | off | on | on |
showSystemsBtn | off | off | off | on |
Two transitions actually change pixels on screen: hub_lite → hub_mid turns on five flags at once (the bulk of the hub UI), and hub_mid → hub_full turns on the sixth (systems). The locked → hub_lite transition is a state change with no visible difference — it gates access to the hub, not the chrome inside it.
Gating
Transitions are driven by progression milestones, not by timers or button presses:
locked → hub_lite— prologue tunnel complete (all fourPROLOGUE_BEATSfinished).hub_lite → hub_mid— Chapter 1 complete.hub_mid → hub_full— Chapter 2 complete.
The reveal level is a one-way ratchet: once a player reaches hub_full, they do not regress.