Magical gene / colour modifiers
Holo Flake
A dusting of small angular flakes along the crest of the neck, each one a different colour from the one beside it, over a dull grey wash.
What it can come out as
| Outcome | Carrying |
|---|---|
| Holo flake (white) | Hfw/Hfw · Hfw/Hfc · Hfw/n |
| Holo flake (coloured) | Hfc/Hfc |
| Wild type | Hfc/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 893 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 |
|---|---|---|
Hfw/Hfw | Holo flake (white) | 0.004% — 1 in 25,000 |
Hfw/Hfc | Holo flake (white) | 0.016% — 1 in 6,250 |
Hfw/n | Holo flake (white) | 0.076% — 1 in 1,316 |
Hfc/Hfc | Holo flake (coloured) | 0.016% — 1 in 6,250 |
n/n | Wild type | 99.888% |
Its gene carrot
The file
common/src/main/resources/horsegenetics/genes/holo_flake.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.holo_flake |
|---|---|
| Phase | magical — it adds signed colour in phase 3, after the pigment has resolved |
| Priority | 430 — where it sits in the one (priority, key) paint order |
| Alleles | Hfw · Hfc · 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, PARTS, RAMP, TOWARD |
Why it is built this way
The reference arrived as a traced SVG (864 gradient-filled paths - it is glitter, so the tracer found one path per flake). It is not pasted in as an SVG mask and could not usefully be: that mask carries a drawn shape and would put the SAME 864 flakes on every horse in the world. The marking is a field, so it is CRACKLE with a wide gap, which shrinks each cell to a small isolated polygon with bare coat around it.
The flake layer's mask and its RAMP share seed and scale. That is not optional decoration - RAMP axis cellId reading a different seed or scale from the CRACKLE under it would colour a lattice that has nothing to do with where the flakes are, and the flakes would come out in two-tone fragments. SPOTS and DAPPLES would not line up either; they lay down their own centres.
scale 2.4 with gap 1.2 leaves flakes about 1.2 body units across, which is 2.4 texels. Anything under about 1.8 scale here goes under the texel floor and the neck comes out plain grey.
The colour is drawn per cell rather than swept, which is why this is RAMP axis cellId and not axis Y: the point of the marking is that neighbouring flakes are unrelated and meet at a wall. A gradient would read as a sheen, which is a different thing.
A band along a pitched part needs space local - axis X low is the crest - and the band starts at -1.0 rather than 0.0 because fractions run outside 0..1 on a pitched part's bounding box.
founders below is a placeholder that satisfies the loader. Run intake/tools/founders.py to derive the real table from the rarity tier.
The flake gap arrived at 1.2 and went to 0.5, because at 1.2 the flakes painted nothing on any horse. A CRACKLE lattice is three-dimensional and the skin slices its cells well away from their centres, so the surface lies much closer to a wall than a flat tiling would suggest; at scale 2.4 a 1.2-unit channel left plates a texel across. The shipped crackles run their gap at about an eighth of their scale, and 0.5 puts this one there. The chance of 0.55 is what keeps the flakes apart, not the gap.
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.
Holo flake (white)
Small angular flakes scattered along the crest, each a different step of grey from the one beside it, over a dull wash.
- dull ground —
PARTS×AXIS, painted withTOWARD - flakes —
PARTS×AXIS×CRACKLE, painted withRAMP
Holo flake (coloured)
Small angular flakes scattered along the crest, each a different colour from the one beside it, over a dull wash.
- dull ground —
PARTS×AXIS, painted withTOWARD - flakes —
PARTS×AXIS×CRACKLE, painted withRAMP
Wild type
No flakes.
Paints nothing.