| """Canonical unit-class taxonomy shared by cache, models, and evals. | |
| STATIC_CLASSES are persistent structures the spatial AE compresses. | |
| TRANSIENT_CLASSES (mobile/projectile) bypass the AE: they are few, exact, | |
| and fully described by (owner, type, position, target) — the policy reads | |
| them raw instead of through a lossy latent. | |
| """ | |
| UNIT_CLASSES = [ | |
| "City", | |
| "Port", | |
| "Defense Post", | |
| "Missile Silo", | |
| "SAM Launcher", | |
| "Factory", | |
| "Warship", | |
| "Transport", | |
| "Trade Ship", | |
| "Atom Bomb", | |
| "Hydrogen Bomb", | |
| "MIRV", | |
| ] | |
| UNIT_CLASS_INDEX = {name: i for i, name in enumerate(UNIT_CLASSES)} | |
| STATIC_CLASSES = [ | |
| "City", | |
| "Port", | |
| "Defense Post", | |
| "Missile Silo", | |
| "SAM Launcher", | |
| "Factory", | |
| ] | |
| STATIC_INDICES = [UNIT_CLASS_INDEX[n] for n in STATIC_CLASSES] | |
| TRANSIENT_CLASSES = [ | |
| "Warship", | |
| "Transport", | |
| "Trade Ship", | |
| "Atom Bomb", | |
| "Hydrogen Bomb", | |
| "MIRV", | |
| ] | |