Magical gene / magical coat genes
Crazework
The coat crazes into tiled plates, each one dark with a blue centre and a cyan spark inside that, separated by grey channels that pool pale gold where three of them meet. Toward the forehand the tiling breaks up and the plates drift apart into islands.
What it can come out as
| Outcome | Carrying |
|---|---|
| Crazework | Cw/Cw · Cw/Cq · Cw/n |
| Coloured crazework | Cq/Cq |
| Wild type | Cq/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 |
|---|---|---|
Cw/Cw | Crazework | 0.002% — 1 in 50,000 |
Cw/Cq | Crazework | 0.008% — 1 in 12,500 |
Cw/n | Crazework | 0.038% — 1 in 2,632 |
Cq/Cq | Coloured crazework | 0.008% — 1 in 12,500 |
n/n | Wild type | 99.944% |
Its gene carrot
The file
common/src/main/resources/horsegenetics/genes/crazework.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.crazework |
|---|---|
| Phase | magical — it adds signed colour in phase 3, after the pigment has resolved |
| Priority | 119 — where it sits in the one (priority, key) paint order |
| Alleles | Cw · Cq · n |
| Varies per horse | 5 values drawn once off the expressing allele copy, so a foal that inherits the copy inherits the look |
| Built from | ALL, AXIS, CRACKLE, FRACTAL, TOWARD |
Why it is built this way
The source was an SVG: five flat colours - near-black navy, grey, pale gold, blue, cyan - traced off a photograph, about 270 KB of path data. Past the SVG mask's point ceiling and a field rather than an outline, so it is rebuilt as a rule.
Reading of the source: polygons that tile with a channel of even width between them; each polygon dark, with a blue core inside it and, on some, a cyan core inside that; the channels grey but pooling pale gold at the three-way corners; and, across one side of the frame, the whole tiling breaking down - channels widening, plates shrinking, until they are isolated islands on the gold ground.
This is the same CRACKLE wall-and-centroid pairing as [ringwork], for the same reason: measure: centroid is the only per-cell radial coordinate in the vocabulary and the only one guaranteed concentric with the wall layer. One seed, one scale, one warp across every CRACKLE mask here, and the plate, its blue core, its cyan spark and the channel around it are all talking about the same polygons. Change warp on one and the cores walk out of their plates.
gap under centroid carries the same open question as it does in [ringwork]: this file reads it as a fraction of the cell, 0 at the middle and 1 at the boundary. If the cores come out as whole plates or as nothing, that reading is wrong and every centroid gap wants rescaling into body units.
The plates are much coarser than the source and that is forced, not chosen. The source has maybe twenty-five cells across its frame; at scale 4.5 a horse gets about five across the barrel. The arithmetic: a plate's half-width is roughly half the scale, so at 4.5 it is 2.25 body units, and the 0.30 slice between the navy and the blue is 0.67 units - a hair over a texel. Halve the scale to match the source's density and every one of those slices goes under a texel and the layering collapses into flat dark plates.
The gold at the junctions is a second wall layer at vertexWeight 0.95 rather than a separate mask. vertexWeight blends the wall distance toward the distance to the nearest three-way corner, so wound almost all the way up it selects the corners and almost nothing of the channel between them. The grey channel underneath runs at 0.15 instead, which is nearly the even width a distance-to-a-plane gives.
The break-up is two masks in front of every layer, not a gradient: a soft AXIS band on X that fades toward the nose, times a FRACTAL. The AXIS alone would fade the plates out evenly and read as a wash; the product tears the fading edge into islands, which is the half of the source that a gradient cannot say. Both terms are repeated verbatim on all five layers - they have to stay identical or the plates, cores and channels break up at different rates and the tiling comes apart before it dissolves.
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.
Crazework
Dark tiled plates with blue centres and cyan sparks, set in grey channels that pool gold at every junction, breaking apart into islands toward the front of the horse.
Layer order is inside-out and the channels go last: ground, plate, core, spark, channel, junction. Painting the grey channel after the plates rather than before is what keeps its width even - a centroid draw at 0.92 stops just inside the boundary, and whether that leaves a gap or an overlap depends on the scale, so the channel is drawn over the top and the question does not arise.
- the gold ground the tiling sits on —
ALL, painted withTOWARD - the plates —
AXIS×FRACTAL×CRACKLE, painted withTOWARD - the blue core of each plate —
AXIS×FRACTAL×CRACKLE, painted withTOWARD - the cyan spark, on some plates only —
AXIS×FRACTAL×CRACKLE, painted withTOWARD - the grey channel between plates —
AXIS×FRACTAL×CRACKLE, painted withTOWARD - gold pooling where three channels meet —
AXIS×FRACTAL×CRACKLE, painted withTOWARD
Coloured crazework
The same tiling in two colours this line of horses runs to - one carrying the plates and their cores, the other the ground and the junctions.
The recessive coloured half of the usual pair, on two independent hue knobs like [shallows] rather than one. The source pairs a blue plate against a gold ground, near enough opposite sides of the wheel, and a single hue driving both would collapse the contrast that makes the tiling read as tiling. The grey channel stays achromatic on purpose: it is the value the two hues are separated by, and colouring it puts three hues in a pattern built on two.
The three plate lightnesses - 0.14, 0.36, 0.72 - are the source's navy, blue and cyan read off as values. They matter more than the hue does: the layering is legible because the cores get lighter inward, and a flat lightness across the three makes one plate-coloured blob however saturated it is.
- the ground the tiling sits on —
ALL, painted withTOWARD - the plates —
AXIS×FRACTAL×CRACKLE, painted withTOWARD - the core of each plate —
AXIS×FRACTAL×CRACKLE, painted withTOWARD - the spark, on some plates only —
AXIS×FRACTAL×CRACKLE, painted withTOWARD - the grey channel between plates —
AXIS×FRACTAL×CRACKLE, painted withTOWARD - the ground pooling where three channels meet —
AXIS×FRACTAL×CRACKLE, painted withTOWARD
Wild type
Unbroken.
Paints nothing.