Magical gene / fields and regions

Opal Crackle

A coat shot through with fine dark seams, each one catching light in its own colour - the fire you would find cracked out of a boulder opal.

What it can come out as

OutcomeCarrying
Opal Crackle, iridescentOcr/Ocr · Ocr/Ocp · Ocr/n
Opal Crackle, pigmentedOcp/Ocp
Wild typeOcp/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 7,143 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
Ocr/OcrOpal Crackle, iridescent0.0005% — 1 in 200,000
Ocr/OcpOpal Crackle, iridescent0.002% — 1 in 50,000
Ocr/nOpal Crackle, iridescent0.0095% — 1 in 10,526
Ocp/OcpOpal Crackle, pigmented0.002% — 1 in 50,000
n/nWild type99.986%

Its gene carrot

The file

common/src/main/resources/horsegenetics/genes/opal_crackle.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.opal_crackle
Phasemagical — it adds signed colour in phase 3, after the pigment has resolved
Priority285 — where it sits in the one (priority, key) paint order
AllelesOcr · Ocp · n
Varies per horse7 values drawn once off the expressing allele copy, so a foal that inherits the copy inherits the look
Built fromCRACKLE, PARTS, RAMP, SPOTS, TOWARD, emissive

Why it is built this way

The import wanted adjacent seams to show UNRELATED hues and could only reach a whole-horse ramp, which drifts smoothly nose to tail and makes two cracks a hand's width apart nearly the same colour. The colour here comes off RAMP's 'cellId' axis instead: one key drawn per cell of a lattice sharing this mask's own seed and scale, constant across that cell, so neighbours land on unrelated stops.

It is a per-CELL key, not a per-SEAM one, and the difference is visible if you look for it: a seam runs between two cells, so its colour changes where three cells meet rather than staying constant along its whole length. That reads as fire moving along the crack, which is close to the reference and is not the same claim as 'each seam is one colour'.

cellSize and veinWidth are shared verbatim between the seam layer and the fleck layer's subtractive mask. Change one and check the flecks still avoid the seams.

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 Crackle, iridescent

A network of dark, thin-walled cracks runs the length of the coat, every seam lit from within and none of them agreeing about the colour.

  1. the seams — PARTS × CRACKLE inverted, painted with RAMP, and it glows
  2. and gold flecks between them — PARTS × SPOTS × CRACKLE, painted with TOWARD

Opal Crackle, pigmented

The same cracked network, but the seams glow one steady colour instead of shifting cell to cell.

  1. the seams — PARTS × CRACKLE inverted, painted with TOWARD
  2. and gold flecks between them — PARTS × SPOTS × CRACKLE, painted with TOWARD

Wild type

Nothing.

Paints nothing.