From b12b5d720d3e39c019807e236ad8fb911931abc7 Mon Sep 17 00:00:00 2001 From: Gulum Date: Sat, 6 Jun 2026 21:27:32 +0200 Subject: [PATCH] =?UTF-8?q?GEN-4:=20Dilute-Pr=C3=A4fix,=20REW-Erkennung,?= =?UTF-8?q?=20CP-Fuchs-Fix,=20BreedingResultView=20Gencode+Layout?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Katalog (catalog.ts): - 8 'X dd'/'dd X' Einträge → 'Dilute X' (Agouti/Silberagouti/Kohlfuchs/Anthrazit/ Topas/Blaufuchs dd + dd Gold/Platin → Dilute Gold/Platin etc.) - 4 neue Dilute-Fuchs-Basiseinträge (Dilute Algierfuchs/Goldfuchs/Rotfuchs/Polarfuchs) → verhindert naked 'Fuchs' Fallback für agouti+dilute+fox Genotypen. 66→70 Einträge. - colourpointName: 'Dilute X' Base → 'Dilute CP-X' statt 'CP-Dilute X' (Präfix-Reihenfolge) → AA cchmcchm dd ee GG PP = 'Dilute CP-Algierfuchs' statt 'CP-Fuchs'. Engine (farbschlagFor): - REW-Check: c0==cchm && c1==cchm && p0==p && p1==p → 'REW' (Rotaugenweiß). Unabhängig von A/D/E/G. Flagged to god zur Bestätigung. BreedingResultView: - Gencode (bracket notation) pro Farbschlag-Karte (erster/wahrscheinlichster Genotyp). - Layout-Fix: flexbox body (name+gencode gestapelt), min-width:0 gegen Overflow, word-break, grid min 15rem, prob flex-shrink:0 rechtsbündig. Tests: GEN-4 describe (Dilute/REW/no-bare-Fuchs Fixtures); CATALOG_SIZE 66→70; CP-Fuchs/CP-Fuchs-Hell → Dilute CP-Algierfuchs(-Hell) in bestehenden Tests. Gate: build ✓ eslint ✓ vitest 95/95 ✓ e2e 148/148 ✓ --- .../src/components/BreedingResultView.tsx | 33 ++++++++---- .../src/genetics/__tests__/genetics.test.ts | 51 +++++++++++++++---- gerbil-manager-web/src/genetics/catalog.ts | 41 +++++++++++---- gerbil-manager-web/src/index.css | 33 +++++++++++- 4 files changed, 127 insertions(+), 31 deletions(-) diff --git a/gerbil-manager-web/src/components/BreedingResultView.tsx b/gerbil-manager-web/src/components/BreedingResultView.tsx index 207c583..b757fc9 100644 --- a/gerbil-manager-web/src/components/BreedingResultView.tsx +++ b/gerbil-manager-web/src/components/BreedingResultView.tsx @@ -43,16 +43,29 @@ export default function BreedingResultView({ result, title }: BreedingResultView ) : ( <>