/** * FEAT-4: Stammbaum-bezogene API-Aufrufe. * * Der Inzuchtkoeffizient wird serverseitig über die VOLLE Ahnentiefe berechnet * (Board-Entscheidung; UI zeigt 4 Generationen, Koeffizient zählt alle). * Endpunkt: FEAT-1b (InbreedingController, Wright-Pfadmethode). */ import { api, resources } from './client' /** Spiegelt GerbilManagerWebAPI.Genetics.InbreedingResult. */ export interface InbreedingResult { /** Koeffizient F nach Wright, 0..1. */ coefficient: number /** F in Prozent (Server-Komfortfeld). */ percent: number /** Tiefste bekannte Ahnen-Generation (Eltern = 1; 0 = keine erfasst). */ generationsAvailable: number commonAncestors: { id: string; name: string; contribution: number }[] } export async function getInbreedingCoefficient(gerbilId: string): Promise { const raw = await api.get( `${resources.gerbils}/${gerbilId}/inbreeding-coefficient`, ) // Defensiv gegen Vertragsdrift (nacktes number vs. Objekt). return typeof raw === 'number' ? raw : raw.coefficient }