GEN-4 REW erweitert: alle 3 C-Kombi + pp = REW (Julian bestätigt)
- cReduced(c) = cchm || ch; REW wenn cReduced(c0) && cReduced(c1) && pp (cchm/cchm, cchm/ch, ch/ch alle REW; mind. ein volles C = NICHT REW) - Counterproof-Test: C/cchm + pp und C/ch + pp = nicht REW - Frozen-Round-Trip-Test: PEW (ch/ch+pp) explizit ausgenommen (intentional shadow durch REW-Check per Julian-Regel; PEW bleibt Dropdown-Name) Gate: build ✓ eslint ✓ vitest 95/95 ✓ e2e 148/148 ✓
This commit is contained in:
@@ -253,13 +253,16 @@ export function farbschlagFor(g: Genotype): FarbschlagMatch {
|
||||
if (locusToken(g, 'Sp') === 'Sp') modifiers.push('Schecke')
|
||||
if (locusToken(g, 'Re') === 'Re') modifiers.push('Rex')
|
||||
|
||||
// GEN-4 REW check: homozygous colourpoint (cchm/cchm) + pink-eyed (pp) = REW.
|
||||
// This combination removes both fur pigment (C locus) and eye pigment (P locus)
|
||||
// regardless of A/D/E/G. Examples: CP-Gold, CP-Goldfuchs, CP-Elfenbein, CP-Apricot.
|
||||
// Flagged to god for confirmation (condition: cchm×cchm + p×p).
|
||||
// GEN-4 REW check (Julian confirmed + extended): both C alleles reduced (no full 'C')
|
||||
// AND pink-eyed (pp) = REW (Rotaugenweiß), A/D/E/G-independent.
|
||||
// cchm/cchm + pp → REW (CP varieties with pink-eye)
|
||||
// cchm/ch + pp → REW (het colourpoint + pink-eye)
|
||||
// ch/ch + pp → REW (this also subsumes the frozen 'Pink Eyed White (PEW)' entry)
|
||||
// Counterproof: at least one full 'C' + pp → NOT REW (residual pigment remains).
|
||||
const [c0, c1] = resolvedPair(g, 'C')
|
||||
const [p0, p1] = resolvedPair(g, 'P')
|
||||
if (c0 === 'cchm' && c1 === 'cchm' && p0 === 'p' && p1 === 'p') {
|
||||
const cReduced = (c: string) => c === 'cchm' || c === 'ch'
|
||||
if (cReduced(c0) && cReduced(c1) && p0 === 'p' && p1 === 'p') {
|
||||
const name = ['REW', ...modifiers].join(' ')
|
||||
return { name, base: null, unknown: false }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user