Magical gene / fields and regions
Opal Fire
A dark stone set into the shoulder, with two sprays of fire fanning up out of the underline and green flecks caught in the ground around them.
What it can come out as
| Outcome | Carrying |
|---|---|
| Opal fire (white) | Opw/Opw · Opw/Opc · Opw/n |
| Opal fire (coloured) | Opc/Opc |
| Wild type | Opc/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 3,571 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 |
|---|---|---|
Opw/Opw | Opal fire (white) | 0.001% — 1 in 100,000 |
Opw/Opc | Opal fire (white) | 0.004% — 1 in 25,000 |
Opw/n | Opal fire (white) | 0.019% — 1 in 5,263 |
Opc/Opc | Opal fire (coloured) | 0.004% — 1 in 25,000 |
n/n | Wild type | 99.972% |
Its gene carrot
The file
common/src/main/resources/horsegenetics/genes/opal_fire.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.opal_fire |
|---|---|
| Phase | magical — it adds signed colour in phase 3, after the pigment has resolved |
| Priority | 298 — where it sits in the one (priority, key) paint order |
| Alleles | Opw · Opc · 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, FAN, NOISE, RAMP, SPECKLE, TOWARD, emissive |
Why it is built this way
The reference arrived as a traced SVG (263 gradient-filled paths). It is not pasted in as an SVG mask: that mask carries a shape somebody drew, and a traced photograph of boulder opal is a field. The sprays are FAN, which is the only mask that repeats around a point with bars that widen as they travel.
The reference has a scatter of sprays at unrelated origins. FAN takes one pivot per layer, so this ships two placed sprays instead of a field of them - see the TOOL GAP filed with this batch. Two was chosen over more because each extra spray is another layer and they start to overlap into a wash.
The dark ground is a fixed colour in all forms. It is the thing the fire shows against, so grading it pale would not give a pale version of this marking, it would give a different one. Only the sprays and the flecks regrade.
Both spray layers share plane, space, spacing, duty and twist and differ only in origin and outer, so the two sprays read as the same kind of fire at two sizes rather than as two unrelated fans.
founders below is a placeholder that satisfies the loader. Run intake/tools/founders.py to derive the real table from the rarity tier.
Arrived at priority 300. Moved to 298: fields and regions, beside the opal genes (opal crackle 285, opaline 286) - it claims the shoulder. 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.
Opal fire (white)
A dark patch on the shoulder with two sprays of white fire fanning up out of it, graded from bright at the root to grey at the tips.
- dark stone ground —
AXIS×NOISE, painted withTOWARD - spray, large —
AXIS×FAN×AXIS, painted withRAMP, and it glows - spray, small —
AXIS×FAN×AXIS, painted withRAMP, and it glows - flecks in the ground —
AXIS×SPECKLE, painted withTOWARD
Opal fire (coloured)
A dark patch on the shoulder with two sprays of coloured fire fanning up out of it, the spectrum running from the roots to the tips.
- dark stone ground —
AXIS×NOISE, painted withTOWARD - spray, large —
AXIS×FAN×AXIS, painted withRAMP, and it glows - spray, small —
AXIS×FAN×AXIS, painted withRAMP, and it glows - flecks in the ground —
AXIS×SPECKLE, painted withTOWARD
Wild type
No opal.
Paints nothing.