/// Represents the functional branch/specialty of a military unit or position. /// /// Based on U.S. Army 2026 doctrine functional branch designations. enum DoctrinalBranch { infantry, medical, fires, signal, cyberEw, aviation, logistics, engineer; /// Returns a human-readable display name for this branch. String get displayName { switch (this) { case DoctrinalBranch.infantry: return 'Infantry & Maneuver'; case DoctrinalBranch.medical: return 'Medical (CMF 68)'; case DoctrinalBranch.fires: return 'Field Artillery (CMF 13)'; case DoctrinalBranch.signal: return 'Signal (CMF 25)'; case DoctrinalBranch.cyberEw: return 'Cyber/EW (CMF 17)'; case DoctrinalBranch.aviation: return 'Aviation'; case DoctrinalBranch.logistics: return 'Logistics (CMF 91/92)'; case DoctrinalBranch.engineer: return 'Engineer (CMF 12)'; } } /// Returns the short branch abbreviation. String get abbreviation { switch (this) { case DoctrinalBranch.infantry: return 'IN'; case DoctrinalBranch.medical: return 'MC'; case DoctrinalBranch.fires: return 'FA'; case DoctrinalBranch.signal: return 'SC'; case DoctrinalBranch.cyberEw: return 'CY'; case DoctrinalBranch.aviation: return 'AV'; case DoctrinalBranch.logistics: return 'LG'; case DoctrinalBranch.engineer: return 'EN'; } } }