prologue-config.ts

4-beat guided first-time experience config. Players traverse these beats before reaching the hub. Each beat has a progress-counter completion check and a reward. Target total duration: ~10–15 min. Beats 1–3 run inside a single continuous tutorial run; beat 4 is metagame (mission + pull + hub lite).

Styx

Data module. No runtime behavior. Exports beat list + hub-reveal rule table. Consumed by prologue flow controller and hub-shell visibility checks.

Exports

SymbolKindPurpose
PrologueBeatIdtype aliasUnion of the 4 beat ids
PrologueBeatinterfaceShape of a single beat record
PROLOGUE_BEATSconst arrayOrdered list of 4 beats
HubRevealLeveltype alias4-state hub reveal enum
HUB_REVEAL_RULESconst recordPer-level visibility flags

PrologueBeatId

'movement_combat' | 'level_up' | 'weapon_event' | 'mission_pull_hub'

PrologueBeat fields

FieldTypeNotes
idPrologueBeatIdStable id
indexnumber0-based order
namestringDisplay name
descriptionstringShort description
trackingProgressKeyProgress key checked for completion (import from ./progress-keys)
targetnumberTarget value of the tracked key
reward.gemsnumber?Gem grant
reward.ticketsnumber?Ticket grant
ctaTextstringCTA shown during the beat

Beats (PROLOGUE_BEATS)

IdxidNameDescriptionTrackingTargetRewardCTA
0movement_combatFirst FlightLearn to fly and fighttotal_kills510 gems”Destroy the enemies!“
1level_upGetting StrongerLevel up for the first timemax_run_level215 gems”Choose an upgrade!“
2weapon_eventNew WeaponFind a weapon and complete an eventevents_completed11 ticket + 20 gems”Complete the event!“
3mission_pull_hubWelcome HomeDeploy a mission, make your first pullpulls_made150 gems”Make your first pull!”

Total prologue payout: 95 gems + 1 ticket.

Hub reveal

HubRevealLevel = 'locked' | 'hub_lite' | 'hub_mid' | 'hub_full'.

Transition flow: lockedhub_lite (prologue complete) → hub_mid (Ch.1 done) → hub_full (Ch.2 done).

HUB_REVEAL_RULES matrix

LevelcurrencyBarbottomNavshopTabcollectionTabmissionsBtnsystemsBtn
lockednononononono
hub_litenononononono
hub_midyesyesyesyesyesno
hub_fullyesyesyesyesyesyes

Note: locked and hub_lite have identical visibility flags — the distinction is upstream state, not UI gating.

Dependencies

  • ./progress-keysProgressKey type for the tracking field.

EXTRACT-CANDIDATE

  • The Beats table (id / name / tracking / target / reward / CTA) and the Hub-reveal matrix are pure tuning data — candidates for promotion to a roll-up progression/prologue.md wiki page covering the full 4-beat onboarding flow plus its hub-reveal transitions and total payout.
  • Reward grants ({ gems?, tickets? }) duplicate the shape used elsewhere for prologue/mission payouts — candidate for a shared Reward / CurrencyGrant type if not already centralized.
  • Hub-reveal state machine (locked → hub_lite → hub_mid → hub_full) duplicates progressive-disclosure logic likely referenced by hub shell + metagame — candidate for a dedicated hub-reveal.md concept page documenting the full transition graph and gating events (prologue complete, Ch.1 done, Ch.2 done).