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

Flaglockedhub_litehub_midhub_full
showCurrencyBaroffoffonon
showBottomNavoffoffonon
showShopTaboffoffonon
showCollectionTaboffoffonon
showMissionsBtnoffoffonon
showSystemsBtnoffoffoffon

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 four PROLOGUE_BEATS finished).
  • 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.