"""Unified segmentation classes shared across all datasets.

All datasets MUST use the same prompt list and class IDs to enable
transfer learning (e.g., pretrain on GTA-UAV → fine-tune on UAV_VisLoc).

Not every dataset will have pixels for every class — that's fine.
A class with 0 pixels simply won't contribute to training loss.
"""

UNIFIED_PROMPTS: list[str] = [
    "background",                   # 0
    "building",                     # 1
    "road",                         # 2
    "vegetation",                   # 3
    "water",                        # 4
    "sand and gravel ground",       # 5
    "rocky terrain",                # 6
    "farmland",                     # 7
    "railway",                      # 8
    "parking lot",                  # 9
    "sidewalk",                     # 10
    "bare soil and plowed field",   # 11
    "roof and rooftop",             # 12
    "sports field and playground",  # 13
    "muddy ground and wetland",     # 14
    "embankment and levee",         # 15
    "swimming pool",               # 16
]

NUM_CLASSES = len(UNIFIED_PROMPTS)  # 17
