Magical gene / fields and regions

Barred Wing

A butterfly's wings opened across the ribs, the dark ground cut into bars by a paler field running through it.

What it can come out as

OutcomeCarrying
Pale wingBw/Bw · Bw/Bwb · Bw/Bwc · Bw/n
Black wingBwb/Bwb · Bwb/Bwc · Bwb/n
Coloured wingBwc/Bwc
Wild typeBwc/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,572 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
Bw/BwPale wing0.001% — 1 in 100,000
Bw/BwbPale wing0.0013% — 1 in 75,019
Bw/BwcPale wing0.0013% — 1 in 75,019
Bw/nPale wing0.019% — 1 in 5,263
Bwb/BwbBlack wing0.0013% — 1 in 75,019
Bwb/BwcBlack wing0.0013% — 1 in 75,019
Bwb/nBlack wing0.0013% — 1 in 75,019
Bwc/BwcColoured wing0.0013% — 1 in 75,019
n/nWild type99.972%

Its gene carrot

The file

common/src/main/resources/horsegenetics/genes/barred_wing.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.barred_wing
Phasemagical — it adds signed colour in phase 3, after the pigment has resolved
Priority292 — where it sits in the one (priority, key) paint order
AllelesBw · Bwb · Bwc · n
Varies per horse3 values drawn once off the expressing allele copy, so a foal that inherits the copy inherits the look
Built fromPARTS, SVG, TOWARD

Why it is built this way

The d strings are pasted verbatim out of the traced SVG - every command, both cases, all subpaths, fillRule evenodd as the artist's file declared it. Paths were SELECTED (the tracer emits dozens per drawing); none was re-typed or re-pointed.

Originally placed with originU/originV 0.27/0.338 (originU is now the posU knob - see the note below) and sizeU/sizeV 0.38/0.273 in body space, so the viewport is x 11.1-26.7 and y 11.4-20.6 - the full height of BODY (x 7.5-29.5, y 11-21) and about two thirds of its length, with clearance on every side. It is sized to the barrel's HEIGHT because every drawing here except the trillium is portrait and meet fits the tall side first; the spare width is centring room. The first mask is PARTS BODY, so nothing the side-plane extrusion reaches can land on a leg or the neck if the mesh ever moves.

Two layers, and they must stay in this order: the dark wing ground is drawn first and the bars are drawn over it. The ground paths carry the bars as evenodd holes, so dropping the fillRule would fill them in and the marking would come out as two plain dark wings.

The two halves of the reference are not the same colour - one wing pair is dark with pale bars, the other is pale-barred over slate - so the ground and the bars get independent hue knobs rather than one hue and an offset, which rule 16 forbids.

At this viewport the marking is about 18 texels tall (a texel is 0.5 body units, and meet fits the tall side first). The silhouette and the tonal split survive that; detail finer than about half a body unit inside the drawing does not, and reads as texture rather than as countable structure. That is rule 15 being accepted deliberately, not overlooked - the barrel is 10 units tall and there is nowhere else for the marking to grow.

Arrived at priority 330. Moved to 292: fields and regions, with the other barrel drawings beside moonwing (283). 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.

Over the SVG point ceiling on arrival - the engine flattens every curve to sixteen segments, so a traced outline costs its command count rather than its size. Brought under it with intake/tools/fit-svg.mjs: flattened the way the engine flattens, Ramer-Douglas-Peucker to a point budget, re-emitted as polylines. The wing ground 5260 to 700 and the bars 5206 to 700, 0.2% of the viewBox changing side, measured through the engine's own inside test on a 400-sample grid. The whole viewBox is a few dozen texels across on the horse, so none of that reaches a texel. The d strings are therefore no longer the ones the trace produced. Gap 168 is the engine-side fix.

LAYERS MADE DISJOINT on the way in. The pale wing came out a flat white shape with no bars in it: the bars were being added to the pale ground beneath them rather than painted over it. The black form hid the problem, because dark on dark sums to something that still looks like bars. A gene's layers do not stack: each measures its delta against the colour the GENE started from and the deltas are summed (gap 169), so nested marks at full strength add up and clamp. Each layer now multiplies in an inverted copy of the shape that sets every later layer apart from it, which for hard-edged masks is exactly the picture stacking would have given - the order in the file still reads as the order of the marking, it just no longer has to be the mechanism.

PLACED BY THE HORSE, NOT THE FILE (2026-09-11). originU is the posU knob, 0.12-0.40, so the viewport's centre runs from about x 12.7 to x 24.2 and the drawing lands anywhere from shoulder to hip. It used to be a constant 0.27, shared with the other five barrel drawings, and the owner's first look at the intake found six different drawings all standing in the same place on every horse. The range keeps every one of the six on BODY with two units to spare at either end - the widest, candelabra, is 6.2 units - checked on a side-view render at six seeds each. originV stays fixed: these are sized to the barrel's full height and there is no room to move up or down.

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 wing

Grey wings across the ribs, barred in white.

  1. wing ground — PARTS × SVG × SVG inverted, painted with TOWARD
  2. bars — PARTS × SVG, painted with TOWARD

Black wing

Near-black wings across the ribs, barred in a mid grey.

  1. wing ground — PARTS × SVG × SVG inverted, painted with TOWARD
  2. bars — PARTS × SVG, painted with TOWARD

Coloured wing

Wings in the line's own colour, barred in a second.

  1. wing ground — PARTS × SVG × SVG inverted, painted with TOWARD
  2. bars — PARTS × SVG, painted with TOWARD

Wild type

Nothing.

Paints nothing.