Magical gene / spots and rings
Beadscale
The crest of the neck is beaded with small iridescent scales, each taking its own colour, separated by dark channels.
What it can come out as
| Outcome | Carrying |
|---|---|
| Beadscale | Bs/Bs · Bs/bs · Bs/n |
| Beadscale, coloured | bs/bs |
| Wild type | bs/n · n/n |
How each one is actually drawn - region by region, and the layers it is built from - is on the coding tab.
Crossing two of them
Finding one
About 1 in 1,786 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 |
|---|---|---|
Bs/Bs | Beadscale | 0.002% — 1 in 50,000 |
Bs/bs | Beadscale | 0.008% — 1 in 12,500 |
Bs/n | Beadscale | 0.038% — 1 in 2,632 |
bs/bs | Beadscale, coloured | 0.008% — 1 in 12,500 |
n/n | Wild type | 99.944% |
Its gene carrot
The file
common/src/main/resources/horsegenetics/genes/beadscale.json — a
data-driven gene, not a Java class. It is listed in the
index.json beside it and registered by Genes' class
initialiser at startup.
| Key | horsegenetics.beadscale |
|---|---|
| Phase | magical — it adds signed colour in phase 3, after the pigment has resolved |
| Priority | 328 — where it sits in the one (priority, key) paint order |
| Alleles | Bs · bs · n |
| Varies per horse | 2 values drawn once off the expressing allele copy, so a foal that inherits the copy inherits the look |
| Built from | AXIS, CRACKLE, RAMP, TOWARD |
Why it is built this way
space local, axis X is the crest. The neck is pitched 30 degrees and an ordinary part-space Y band across it comes out as a collar wrapping crest and throat alike - that is the bug that put goth's hood on the underside of the neck. The band starts at -1.0 rather than 0.0 because a pitched part's corner texels sit off the ends of its own cuboid and nothing clamps them.
RAMP axis cellId reads one colour per cell and meets its neighbours at a wall, which is the difference between iridescence and a gradient. Its seed and scale point at the same values the CRACKLE mask uses, so the colour lines up with the scales rather than drifting across them.
scale 2.6 with a 0.5 gap puts the channel at about one texel. Any finer and the whole field resolves as a wash.
Arrived at priority 128. Moved to 328: spots and rings, near fish scales (322) - scales on the crest. The arriving number was taken, or sat in a band whose family does not describe this marking - priority is both the paint order and the family the sidebar files a gene under.
What it paints
Each outcome, described the way the gene file describes it, and then the layers that draw it in the order they are painted. The prose is the part a reader checks a bake against; the list underneath is what the engine actually did.
Beadscale
A band of small teal-to-magenta scales along the crest, each bead a slightly different colour from its neighbour.
- the dark channel between scales —
AXIS×CRACKLE inverted, painted withTOWARD - the scales themselves —
AXIS×CRACKLE, painted withRAMP
Beadscale, coloured
The same crest of scales swept through a narrow band of this line's own colour.
- the dark channel between scales —
AXIS×CRACKLE inverted, painted withTOWARD - the scales themselves —
AXIS×CRACKLE, painted withRAMP
Wild type
No scaling.
Paints nothing.