Sixty of the seventy-six actors had no portrait. The sixteen that did are the
hand-made duty roster; the whole bestiary and every scenario NPC fell back to a
generic silhouette.
The point is not that this is free. A portrait composed from anatomy.mjs cannot
contradict the statblock, because it is drawn from the numbers the hit-location roll
uses: silhouette from BODY_ART, height from SIZ, build from STR against SIZ, plating
from naturalArmour, a mark for the primary weapon's class. A Cadence would get five
bodies because its table has five. Nothing has to be kept in step.
Colour carries what a GM wants off a thumbnail — whether the thing is a person,
folklore, recovered machinery, or the far side. That reads the shouted category the
role lines already carry (FOLKLORE, HORROR, FORWARD), which nothing was using, and
falls back to structure for the ones with no tag.
build-packs resolves portraits by stem and extension rather than an exact .webp
filename, so a creature gains art without an edit to content.mjs and a hand-made
raster always beats the generated diagram. A spec that NAMES a portrait and has none
is still a hard build failure.
These read as diagrammatic field-guide plates and will not match the Midjourney agent
portraits. That split is deliberate: the agents are the cast, the bestiary is case
material.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>