Magical gene / fields and regions
Hued Pangare
Pangare's own region map, painted in a colour the line carries instead of washed out to cream — muzzle, eye rings, belly, flank and the insides of the legs, with no edge anywhere on it.
What it can come out as
| Outcome | Carrying |
|---|---|
| Extreme Hued Pangare | Hpa/Hpa |
| Classic Hued Pangare | Hpa/n |
| Wild type | n/n |
The two are not different shapes. They are the same map turned up further, which is exactly what ordinary pangare does between a trace and a strong one: one copy lands about where a moderate mealy horse sits — muzzle, eye rings, an underline up the belly, soft patches behind the elbow and a little way up the inside of each leg — and two copies take it up the flanks and the sides of the neck, over the cheek and jaw, and most of the way up the legs.
The mane, tail, ears and topline are left alone on both. Pangare is a soft-parts trait and so is this; a horse with a coloured mane has something else.
Crossing two of them
Finding one
About 1 in 833 wild horses is born showing this. That is the whole of the supply: catch one, or make one with the carrot below. Breeds set their own pools and a breed built around this gene will carry it far more often than the wild population does.
| Wild pair | Shows as | How often |
|---|---|---|
Hpa/Hpa | Extreme Hued Pangare | 0.006% — 1 in 16,667 |
Hpa/n | Classic Hued Pangare | 0.114% — 1 in 877 |
n/n | Wild type | 99.88% |
Its gene carrot
The class
common/genetics/genes/HuedPangareGene.java — a Java gene, and one of
the few that is a class rather than a
gene file. Registered in Genes immediately
after PangareGene, because that is whose painter it borrows.
| Key | horsegenetics.hued_pangare |
|---|---|
| Phase | magical — it adds signed colour in phase 3, after the pigment has resolved |
| Priority | 254 — where it sits in the one (priority, key) paint order |
| Alleles | Hpa · n |
| Varies per horse | hue and expression, drawn once off the expressing allele copy, so a foal that inherits the copy inherits the colour and the strength |
| Built from | PangareGene.mealyCoverage × a TOWARD move on the visible colour |
Why it is not a gene file
It was one, and the file was an approximation of pangare: a Y band up the belly and a second one down the neck, tuned by eye until it looked about right. It never was about right, because pangare is not a band. It is a region map with nine named weights on it — muzzle, eye ring, jaw, belly, flank, elbow, inner leg, outer leg, lower neck — each hung on its own shape, plus a mottle so the boundary comes out as hairs rather than as an airbrush.
Two hand-tuned copies of that would have drifted apart the first time either was
touched, and the drift would have been invisible: both horses would still have looked
like mealy horses. So the shared field was factored out of pangare's own painter into
PangareGene.mealyCoverage, and this gene calls it. Move
where pangare sits and this moves with it, in the same commit, with nothing to
remember.
Ordinary pangare is not changed by any of this — the method came out of its painter and it paints exactly what it painted before.
What it paints
One pass over every texel. mealyCoverage answers "how mealy is this
point", 0 to 1; the gene's dosage and its stored expression offset scale
that; and what is left walks the texel's visible colour 86% of the way to
hsl(hue, 0.78, 0.58).
Reading the visible colour rather than the stored one is the
TOWARD move, and it is what lets one hue land
correctly on a bay and on a cremello: the number stored in the sheet is not what the
horse looks like once the white template shows through it.
| Dosage | 2.0 per copy, on pangare's own 0–MAX_DOSAGE scale — so two copies reach the top of it and one lands a little under half way |
|---|---|
| Strength | 86% of the way to the hue, short of 100 so the coat's own shading survives underneath |
| Untouched | mane, tail, ears, topline — regionWeight returns 0 there |