Die-cut vinyl
A sticker is not a picture, it is a shape a machine cuts out of vinyl — and what makes it read as a sticker rather than a printed rectangle is the pale border offset around the artwork. So the border is not decoration on these; it is the thing being manufactured, and it is the only part of the range that had to be worked out from scratch.
The method
The cut path is not drawn. Every part of the figure is fattened by the border width and painted in the border colour underneath the artwork — and the union of those fattened parts IS the die line. A rectangle or a circle is fattened by expanding its geometry, which is exact; only a curve is fattened by stroking it, because a Bézier has no closed-form offset.
That is worth doing rather than drawing a cut path by hand because the die line cannot then fall out of step with the art — it IS the art. Put a different hat on a character and the border follows it, on every size, without anyone redrawing anything.
Two useful things fall out of the construction rather than having to be policed. Every corner ends up with a radius of at least the border width, so the tightest curve on the cut path is the border itself — pick a border wider than the cutter's minimum radius and the cutter is satisfied by construction. And any gap narrower than twice the border closes up. That is not a defect: the slot between two legs gets bridged rather than cut, because a one-millimetre neck of vinyl tears the moment the sheet is weeded.
Not a separate library
The stickers above are pre-composed, one per character. That is fine for a range and no use at all for a figure nobody has built yet. So the border is also a RIG — the same figure, the same inputs, one word different, and it comes out die-cut.
It needs no engine change, and it turns on two facts about the rig: a profile's slot list IS the paint order, and two slots may bind the same input. So a profile declaring dieBody, dieEars, … before body, ears, … paints every halo and then every piece of art — the two passes a border needs, expressed as data. A caller passes its figure exactly as before.
rig: "iconkind-v2"
rig: "iconkind-v2-die"
One thing it cannot do, and the reason the pre-composed range still exists: a rig cannot grow the FRAME. The halo needs 14 units of margin the base frame has not got — measured rather than assumed, the fattened legs reach y=250 in a 240-tall box — so the die catalogue restates each part in a padded viewBox. That also fixes the width at build time: a second width is a second profile, not a live property. A continuously variable border is noteboard C26 — as is the other rough edge: a slot whose value rides in the `slots` bag (kit, prop, a tail) needs its die twin passed alongside it, because the bag is keyed by slot name and only the named inputs carry across on their own.
The choice, shown
The same character at four widths, as a fraction of the figure. All four are real stickers built by the same code, so this is the decision rather than a picture of it. 7% is what the range ships at — 14 units on a 200-wide figure, which is 3.9mm on a 75mm sticker.
3%
Reads as a printing error. The legs stay slotted and the border is not doing a job.
5%
A sticker, but a cautious one.
7%
The die-cut look. Legs bridged, silhouette simplified, figure not drowned.
10%
Too much. The arms and ear pads merge and the character starts to disappear into its own border.
And the narrowest is not merely ugly — tools/check-sticker.py rejects the 3% one, because at 50mm its border leaves less than the 1mm of cut tolerance the contract asks for. It is on this page as a study, marked as shown and not sold.
35 stickers
Generated from the same cast file and the same rig the characters themselves come from, so the sticker range is not a range anybody maintains — a new character arrives with a sticker already made.
Alder
Astro
Beacon
Bloom
Bobbin
Bobby
Bow
Breeze
Chalk
Cleat
Crest
Dove
The Explorer
Fern
Fleet
Gleam
Hero
Lark
Laurel
Magician
Maple
Orbit
Pebble
Pip
Poppy
Root
Spark
Sprout
Swift
Thrum
Tor
Ward
Wick
Willow
Wisp
Not all humanoid
The same construction over four different body shapes. The merkind's fins, the palkind's ears and the treekind's roots all get a die line without anyone deciding where it goes.
dinokind
fishkind
merkind
palkind
treekind
A second product
Many kiss-cut stickers on one backing, which is a different thing from a page of stickers: the gap between them is set wide enough that two die lines never meet, and that is what lets the whole sheet be cut in a single pass.
No drawing software
Every sticker above exists as a real SVG sized in millimetres, with three named layers — border, artwork, and CutContour — and a single closed cut path stroked in 100% magenta, which is the convention a printer's cutter expects. 52 files, generated by tools/build-print-pack.py.
The cut path is traced from the rendered die line, so it is derived from the artwork rather than drawn beside it and cannot fall out of register with it. It is a dense polygon of a few hundred points rather than a fitted curve — a cutter interpolates that exactly, and a curve fit would be a guess wearing the clothes of precision.
Colour ships as a table alongside. The hex values are authoritative; the CMYK column is a naive conversion for reference only, because a correct one needs the press's own profile. Nothing here claims a Pantone match, and saying so is cheaper than a reprint.
The contract
Checked on the rendered shape rather than argued about, and checked at 50mm — the smallest size in the range, because that is where a millimetre rule breaks first. Each of the three was proved against a deliberately broken sticker before it was trusted.
The die line must enclose a single shape. A part that floats free of the body is not a detail, it is a second sticker — and on a sheet it is the bit that stays behind on the backing.
The cut must never touch ink. 1mm of border has to survive on every side, measured by shrinking the cut shape and asserting no inked pixel falls outside it.
No neck of vinyl thinner than 3mm. Gaps narrower than twice the border close on their own; this catches the neck left just wide enough to exist and too thin to survive weeding.