The art pages so far have stayed on the peninsula. Islamic stars, Talavera cobalt, the Alhambra’s cut tile, Barcelona’s cement floors, Roman pavements under Seville. I am English, and I wanted the series to come home without changing the subject. The tie turns out to be seven hundred years old and made of exactly the right materials. Eleanor of Castile married Edward I in 1254 and brought her arms with her: the castle of Castile quartered with the lion of León. They are carved on her tomb in Westminster Abbey and on the crosses Edward put up wherever her coffin rested on its way to London. Two centuries later Catherine of Aragon’s badge, the pomegranate of Granada beside the Tudor rose, got carved and painted over most of early Tudor England. Heraldry is how Spain got into English stone, so a heraldry page is how England gets into this series.
Those of you who know me, or regular visitors, will maybe know of my deep love for Spain, my friends there and from there, and my dreams, intact and in ruins. Anyway. I wanted to bring this series home, and there are a few more steps I’ll flesh out on the way.
Leonor is that page. The centre shield is hers, or rather what hers would have been on a wall at Westminster: England impaling Castile and León.

The hall. Every shield but the centre one is a random legal blazon, generated from its position on the wall.
A sentence that paints
A blazon is a sentence that describes a shield exactly, in a grammar that has been stable since the thirteenth century. “Gules three lions passant guardant in pale Or armed and langued Azure” is England. Read it in order: the field is red, on it are three lions, walking, looking at you, one above another, gold, with blue claws and tongues. Nothing in that sentence is decoration. Every word changes the picture, and two heralds given the same sentence paint the same shield.
So the page’s job is to read the sentence. The parser is a recursive descent over a subset of the grammar: a field, which is a tincture, a division (per pale, per fess, quarterly) or a variation (barry, paly, chequy, lozengy); then ordinaries (chief, fess, pale, bend, chevron, cross, saltire, bordure, pile, canton), each of which can carry charges of its own; then charges by number and arrangement, with their attitudes and the tinctures of their parts; then marshalling, which is impaling and quartering, which recurse back into the whole thing.
function field() {
if (peek() === 'per' && DIVISIONS[peek(1)]) {
take(); const kind = DIVISIONS[take()];
const a = tincture(); if (peek() === 'and') take(); const b = tincture();
return { kind, a: a || 'argent', b: b || 'gules' };
}
if (peek() in VARIATIONS) {
const kind = VARIATIONS[take()]; let n = 6;
if (peek() === 'of') { take(); n = NUMBERS[peek()] || parseInt(peek(), 10) || 6; take(); }
const a = tincture(); if (peek() === 'and') take(); const b = tincture();
return { kind, n, a: a || 'argent', b: b || 'gules' };
}
return { kind: 'plain', a: tincture() || 'argent' };
}
It is forgiving in the way a herald is not. Unknown words are skipped, a missing tincture defaults, “gardant” and “guardant” both work. The sentence is the shareable thing: ?blazon=Or a lion rampant Gules is Scotland, and whatever you type into the box becomes the URL.
Going the other way is the generator. Every shield in the hall except the centre one is a sentence written by a seeded random generator that knows the rule of tincture: metal on colour, colour on metal, never gold on silver or red on blue. It picks a field, then either an ordinary, an ordinary with charges on it, a single charge, or three, and writes it out in proper form with the capitals in the right places. Then it hands the sentence to the same parser as yours. The hall is honest in that sense: the generator cannot paint, it can only write.

The Castile preset on dressed stone. The hall’s palette is the medieval one: Or, Argent, Gules, Azure, Sable, Vert and Purpure, and nothing else.
Enamel and gilt
The material is a painted board. Each tincture is laid flat, then given what that pigment would have had. Gold gets a gradient from leaf to shadow and back, and over it a tooled grain, fine diagonal lines punched into the leaf. Silver gets a cool fall-off from top to bottom. The whole shield gets a gloss across it, light at the top left and a touch of dark in the base, and then a black line round the heater shape with a pale line just inside it for the bevel. The shield casts a shadow on the panelling. The oak itself is boards with a grain, and there are stone and red velvet halls for when the oak gets too brown.
The charges are painted the same way as the tinctures, with one addition. Every charge gets one outline around the whole of itself, stroked wide in black before the parts are filled, so a lion built from a body and a tail and a leg reads as one animal rather than three shapes. That was the theory, anyway.
The lions were toys
I drew the first lions from parts. A body polygon, a tail polygon, a raised leg laid over the body, a mane as a scalloped edge, claws as little triangles, eyes as dots. It took an afternoon of nudging coordinates and the result looked like this.

The first lions. England’s three should be the thing you recognise first, and they weren’t.
A heraldic lion is a specific drawing. The mane is tufts, the tail curls up over the back and ends in a brush, the tongue is out, the claws are splayed, and a passant guardant lion has its head turned full-face so you can see both eyes. None of that is a rule you can write down and get a lion out of. It is a drawing convention that has been copied by hand from roll to roll since the 1250s, and the only honest way to get it is to copy a drawing.
So I asked an image model for one. The prompt was specific about what I needed to trace rather than what I wanted to see: a flat vector illustration, one solid gold fill, a thick even black outline around every part, red tongue, blue claws, no shading, no texture, white background. It gave me a lion that a thirteenth-century herald would have recognised, and a purple rampant one to match, and then a pomegranate and a castle on the same terms.
The tracing is forty lines of Node. Every pixel is classed by its nearest colour out of white, black, gold, red, blue and green. Each class becomes a mask, each mask becomes closed loops by walking the boundary edges between a pixel that is in and a pixel that is out, each loop is simplified with Douglas-Peucker to a tolerance of two and a half pixels, and the points are normalised to the silhouette’s bounding box. The silhouette is one layer. Each colour is a layer. The black lines are a layer. The page fills them in that order:
function traced(T, roles) {
const P = [{ path: loops(T.main), role: 'main' }];
for (const k of ['red', 'blue', 'green']) if (T[k] && roles[k]) P.push({ path: loops(T[k]), role: roles[k], detail: true });
P.push({ path: loops(T.sable), role: 'sable', detail: true });
P.traced = true;
return P;
}
const DRAW = {
lion(ch) { return traced(ch.attitude === 'rampant' ? TRACED.rampant : TRACED.passant, { red: 'armed', blue: 'armed' }); },
pomegranate() { return traced(TRACED.pomegranate, { red: 'seeded', green: 'leaved' }); },
castle() { return traced(TRACED.castle, { blue: 'armed' }); },
// ...
};
The colours in the drawing are not the colours on the shield. They are labels. Red in the lion means “armed”, and armed resolves to whatever the blazon said, so the same traced lion paints in Or, Purpure, Gules or Sable, with blue claws or red ones. Red in the pomegranate means “seeded” and green means “leaved”. The silhouette is filled even-odd so the loop of the tail stays open and the field shows through. The black line network goes on last, and because the drawing’s own outline is in it, the page’s outline stroke drops to half its width for traced charges so the lion doesn’t go muddy at the size of a quarter.

The same blazon, traced. The lions are the drawings; the colours are the sentence’s.
It costs about ninety kilobytes of numbers, which is more than the rest of the page. I think that is the right trade. The procedural charges are rules and the lions are a tradition, and pretending a tradition is a rule is how you get a sunburst for a mane.

Argent a pomegranate proper seeded Gules slipped and leaved Vert. Catherine’s badge, traced on the same terms as the lions.
Small corrections
Two things got fixed along the way that a herald would have caught at once. A crescent has its horns pointing up, to chief; mine pointed down, which is a crescent reversed and a different charge. And charges on a bend lie bendwise, turned with it and sized to the band, rather than standing upright in a column across it.

Argent on a bend Azure three lions rampant Gules. They lie bendwise, as they should.
What comes next
The tower is still drawn from parts and looks it, so it gets the same treatment. After that the plan has Rosa y Granada, a wall piece in medieval inlaid tile with the Tudor rose and the pomegranate in the diagonal-symmetric square, which is this page’s charges meeting the tile engine from Azulejería. Then knotwork on vellum, which is the same over-and-under interlace as the Mudéjar lacería, and Sutton Hoo’s garnet cloisonné, which is Alicatado’s cutter in gold. The English pieces are the same rules in a colder light.