Magical gene / magical body-stat genes

Bracketed

Overlapping shelf lobes crowd the haunch, each one a pale rim around a darker body, stacked the way bracket fungus climbs a trunk.

What it can come out as

OutcomeCarrying
Pale bracketsW/W · W/B · W/C · W/n
Char bracketsB/B · B/C · B/n
Coloured bracketsC/C
Wild typeC/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 pairShows asHow often
W/WPale brackets0.002% — 1 in 50,000
W/BPale brackets0.0027% — 1 in 37,495
W/CPale brackets0.0027% — 1 in 37,495
W/nPale brackets0.038% — 1 in 2,632
B/BChar brackets0.0027% — 1 in 37,495
B/CChar brackets0.0027% — 1 in 37,495
B/nChar brackets0.0027% — 1 in 37,495
C/CColoured brackets0.0027% — 1 in 37,495
n/nWild type99.944%

Its gene carrot

The file

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

Why it is built this way

Three SPOTS draws on ONE seed, spacing, stretch and vary, so the three bands of every lobe stay concentric and stay in proportion - vary scales all three by the same per-cell factor. Only radius differs between them. Change stretch on one and the lattice changes under it and the lobes come apart.

arc 0.62 at angle 250 is what makes it read as a shingled pile rather than a net. Drawing each lobe closed puts a rim all the way round it, and a field of closed rings is the one thing that makes an overlapping surface look wrong - the leading edge of a real lobe is under the lobe in front of it and shows no line at all.

Band widths are 0.60 and 0.60 units against a 0.5-unit texel. Radii of 1.8 / 1.3 / 0.8 would look better proportioned on paper and would draw two bands of 0.5 that average away to nothing.

The AXIS term keeps the cluster on the rear half of the barrel and the haunch instead of letting it tile the whole horse.

Sourced from a traced SVG, but not drawn with the SVG mask. The trace is a photo-trace: 800 to 4500 path commands across dozens to hundreds of subpaths, most of them trace noise. That is well past the point ceiling, which exists precisely to keep a traced photograph out of a gene file. It would also have made the marking identical on every horse. The reference was read for what KIND of shape each element is and rebuilt from field masks instead. If a hand-drawn, low-node version of the source ever exists, the SVG mask with its d string pasted verbatim is the better gene.

Arrived keyed 'ixora.bracketed'. Renamed to the horsegenetics namespace every other gene in the mod uses - the format allows a modder their own, but a gene shipping INSIDE this mod under a second namespace breaks the tooling that builds a key from a slug.

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.

Pale brackets

Chalk-rimmed lobes over grey bodies, clustered on the haunch.

  1. lobe band r=1.85 — PARTS × AXIS × SPOTS, painted with TOWARD
  2. lobe band r=1.25 — PARTS × AXIS × SPOTS, painted with TOWARD
  3. lobe band r=0.65 — PARTS × AXIS × SPOTS, painted with TOWARD

Char brackets

The same pile in charcoal - near-black lobe bodies under gunmetal rims.

  1. lobe band r=1.85 — PARTS × AXIS × SPOTS, painted with TOWARD
  2. lobe band r=1.25 — PARTS × AXIS × SPOTS, painted with TOWARD
  3. lobe band r=0.65 — PARTS × AXIS × SPOTS, painted with TOWARD

Coloured brackets

Lobes in the line's own colour, each pale-rimmed and deepening toward its middle.

  1. lobe band r=1.85 — PARTS × AXIS × SPOTS, painted with TOWARD
  2. lobe band r=1.25 — PARTS × AXIS × SPOTS, painted with TOWARD
  3. lobe band r=0.65 — PARTS × AXIS × SPOTS, painted with TOWARD

Wild type

No marking.

Paints nothing.