The badge

A badge is an object

A badge is { mark, mount, ring }. The MARK is a drawing, the MOUNT is the ground it needs on cloth, and the RING is a property of the wearing. None of the three is baked into the others, so the same 20 drawings serve a chest, a t-shirt, a sticker and a page — and a new ring colour is a value rather than a new file.

One

The 20 marks

Each is one drawing in a neutral 56×56 box, re-framed from the chest art by translation and never redrawn. On their own — no mount, no ring — this is what a web symbol or a print uses.

bell
book
compass
controls
daisy
dreamer
duty
gear
gift
guardian
heart
hearth
lamp
leader
nurturer
protector
rose
scroll
sound
star

Two

The mount is a def. The ring is a property.

One mark — lamp — five ways. The first three are three DEFS: no mount, the plaque a bare kind wears, the disc a dressed one wears. The last three are one def wearing a different colour: the disc strokes its bezel in currentColor and the rig hands it the ring. That is the whole difference between a property and a filename.

no mountmark alone
plaquea bare kind
disc · brass#8d5f3b
disc · navy#2f4a63
disc · chrome#8a8f98

Three

One drawing, four surfaces

The compass below is the same def four times, not four copies that happen to match. The character NAMES it rather than containing it; the garment and the sticker compose it through the same resolver; the standalone SVG is re-framed from it by translation. Checked rather than claimed: the artwork hashes identically in all four.

the markmark-v1.compass
on a chestnamed by the character
ICONKINDTHE EXPLORER
on a garmentcomposed at a quarter size
on a stickerand its die line

Four

What it replaced

248 baked files became 22 defs. Every mark times every mount times every ring, flattened into a filename, in iconkind-v2 and copied again into merkind, dinokind and palkind — so a fourth ring colour meant twenty more files in each of four forms. It is now one value. The mount count is 2, one per SHAPE, and the rings are 3 entries in brand/mark.spec.json.

Proved before anything was deleted: an anchored mark composites to within one pixel in 192,000 of the baked part it replaced, and the ring change measured 0 differing pixels in 12,544.