Magical gene / colour modifiers

Nyxborn

Every white the horse has goes black, and then the whole of the black is scattered with tiny white points - a night sky where the markings used to be.

What it can come out as

OutcomeCarrying
NyxbornNyx/Nyx
Wild typeNyx/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 5,000 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 pairShows asHow often
Nyx/NyxNyxborn0.02% — 1 in 5,000
n/nWild type99.98%

Its gene carrot

The file

common/src/main/resources/horsegenetics/genes/nyxborn.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.

Keyhorsegenetics.nyxborn
Phasemagical — it adds signed colour in phase 3, after the pigment has resolved
Priority611 — where it sits in the one (priority, key) paint order
AllelesNyx · n
Varies per horse4 values drawn once off the expressing allele copy, so a foal that inherits the copy inherits the look
Built fromLUMA, NOISE, SPOTS, TOWARD

Why it is built this way

The stars land on BLACK, not merely on dark (owner's call), and telling those apart needs two readings rather than one. On the shipped gradient a black horse reads 0.807 on LUMA's 'dark' channel and a bay reads 0.782 - close enough that no threshold separates them without also losing half the black. What does separate them is SATURATION: black sits at 0.02 and a bay's red at 0.556, because the difference between them is colour and not brightness. So the star masks are dark AND unsaturated, and a bay keeps its brown shoulder unstarred. That is also why the white-to-black layer paints a neutral #0c0c0c rather than the blue-black it used to: a tinted void reads as saturated, and the gene would have refused to star the very black it had just made.

A horse carrying EXTREME WHITE DOMINANT shows none of this. That gene holds a white lock - every white texel is permanent and nothing painted afterwards may change it, at any slot in the paint order - and this gene's first act is to paint the white out. The lock wins, which is correct and is what 'extreme' means, but the two genes make opposite total claims and neither would otherwise mention the other. See known-gaps gap 126.

The stars cannot see the black this gene just made. Phase 3 hands every layer the coat as it was BEFORE the gene painted, so 'replace the white, THEN star the black' is not expressible in the obvious order - which is why the star layers mask on 'wherever it is dark, OR wherever it was white' rather than simply on 'wherever it is dark'. The two are the same set once the first layer has run. See known-gaps gap 125.

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.

Nyxborn

Two copies. Every white marking the horse carries is painted out in black first - so a tobiano, a splash or a dominant white simply stops being visible, and the horse reads as a solid dark one. Then the whole of that black, the horse's own and the black the gene just made, is dusted with tiny white points. A pinto goes in and a starfield comes out, and the pattern underneath is only recoverable from the genotype.

  1. every white the horse has, taken to black — LUMA, painted with TOWARD
  2. tiny white points over all of it - the horse's own black, and the black just made — LUMA × LUMA × LUMA inverted × NOISE × SPOTS, painted with TOWARD
  3. the few bright ones, drawn out into a short cross — LUMA × LUMA × LUMA inverted × SPOTS, painted with TOWARD

Wild type

Nothing. One copy is silent - the locus only speaks doubled, so a carrier is indistinguishable from a horse that has never had it.

Paints nothing.