# 3. Evolution Track Design

[< Back to Index](README.md) | [Next: Milestones >](04-milestones.md)

---

## 3.1 Track Structure

Each evolution track has **four tiers** (T1 through T4). Each tier contains **two to three
milestones**. Completing all milestones in a tier unlocks the tier's rating boost and advances
the card to the next tier automatically. Completing all four tiers achieves **Full Evolution**.

```
[Card Acquired]
       |
   [T1: Initiate]  2 milestones --> +small rating boost + visual badge
       |
   [T2: Rising]    2 milestones --> +medium rating boost + embed accent
       |
   [T3: Ascendant] 3 milestones --> +large rating boost + rarity border glow
       |
   [T4: Evolved]   2 milestones --> +capstone boost + full visual rework
                               --> rarity tier upgrade (Standard track, Sta and below)
                               --> card name becomes "[Team]'s Evolved [Player]"
```

## 3.2 Track Parameterization

Track definitions are stored in the database, not hardcoded. Each track record specifies:

- Which card type it applies to (batter, starting pitcher, relief pitcher)
- Rating boost amounts per tier (flat probability point deltas, same regardless of rarity)
- Milestone thresholds per tier (admin-tunable)

**Tracks are universal — not rarity-gated.** A Replacement-level card and a Hall of Fame card
follow the same track with the same flat rating deltas. This is intentional:

- **Rarity fluctuates during live series.** Cards update every 2 weeks during the MLB season.
  A Reserve card in April could become All-Star by June. Rarity-gated tracks would cause
  mid-season track jumps, resetting or invalidating progress.
- **Flat deltas intentionally favor lower-rarity cards.** A +0.5 chances boost to a Replacement
  card's homerun probability is a larger relative improvement than the same boost to a HoF card.
  This gives lower-tier cards a reason to exist beyond crafting fodder and avoids making elite
  cards overpowered.
- **Existing rating caps prevent runaway stats.** The D20 system has hard caps on individual
  stat columns (e.g., hold rating caps at -5). Evolution boosts that would exceed a cap are
  truncated, providing a natural ceiling that prevents creating artificial super-cards.

**Three tracks exist at launch (one per card type):**

| Track | Card Type | T4 Outcome |
|---|---|---|
| Batter | All batters | Rarity upgrade (if below HoF) + full visual rework |
| Starting Pitcher | SP | Rarity upgrade (if below HoF) + full visual rework |
| Relief Pitcher | RP/CP | Rarity upgrade (if below HoF) + full visual rework |

**Subtracks are on the table.** The schema supports multiple tracks per card type. Before launch,
we may add subtracks within each category — e.g., power batter vs contact batter tracks with
different milestone compositions, or a closer-specific RP track. The `evolution_track` table
is designed to accommodate this without schema changes; adding a subtrack is just inserting new
rows with different milestone sets. The decision on how many subtracks to ship with is deferred
until milestone design is finalized.

## 3.3 Evolution Eligibility

Every card is always eligible. There is no enrollment step, no activation cost, and no slot limit.
A card that has not yet reached Full Evolution is always progressing. A fully evolved card
(`current_tier = 4`, all milestones complete) cannot progress further — it has reached its peak
state. It can still be crafted (#49) or traded.
