the standard spread — two foes, two scenes, two avatars, all real campaign content — rendered by every open-weight image model of summer 2026 we could seat on one card. the same prompt, the same seed, the same 768 pixels; only the painter changes. the seconds under each cell are what that painter costs, measured by the render queue's own clock. the painters whose licences let us run the weights but not republish the pictures have no column here at all: their renders are counted, painter by painter, in the census on the bench overview, and the internal copy of this bench is the one place every picture exists.
every render in this bench was painted on keel, the 96G VRAM workstation — provably: the bench harness renders only through keel's own queue, and every receipt's render-seconds are that queue's own execution timestamps.
FIXED FOR THIS RUN · the painter is the only thing that moves
size 768×768
every cell opens its own specimen sheet: the render
full size, its prompt verbatim, and every setting behind it.
NPC · Halar Kestrel
painted storybook realism, soft brushwork, warm amber glow, gentle folk-tale wistfulness, unsigned, no text, no letters, no signature, no watermark. portrait of an outsider salvage-diver in a dripping oilskin, round brass-rimmed diving goggles pushed up into sun-bleached blond hair, easy grin with rattled eyes, a coil of salvage line on his shoulder
source: npc.cove.kestrel art.prompt_seed, verbatim (the cast's seeds are framing + subject only, style-free by ADR-0137). Composed as ArtService.portraitAsk's authored-seed leg (ArtService.java:2224) → assembleArtPrompt(style, art.prompt_seed, null). Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml at master tip (v0.875.1); style clauses from the `art` block (R2a / COPY-LIVING-COVE §A, style + region_style + location_style + item_style + place_style).
painted storybook realism, soft brushwork, warm amber glow, gentle folk-tale wistfulness, unsigned, no text, no letters, no signature, no watermark. portrait of a quiet coastal smith at an open-front forge on a grey shoulder of land, banked coal-glow, salt-mended bellows, a hand-hammer with a worn company stamp, harbor fog behind
source: npc.cove.bloom art.prompt_seed, verbatim (the cast's seeds are framing + subject only, style-free by ADR-0137). Composed as ArtService.portraitAsk's authored-seed leg (ArtService.java:2224) → assembleArtPrompt(style, art.prompt_seed, null). Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml at master tip (v0.875.1); style clauses from the `art` block (R2a / COPY-LIVING-COVE §A, style + region_style + location_style + item_style + place_style).
painted storybook realism, soft brushwork, warm amber glow, gentle folk-tale wistfulness, unsigned, no text, no letters, no signature, no watermark. a brisk salt-house keeper at her curing counter, auburn hair pinned up, sharp measuring eyes, split fish laid out in exact white lines of salt before her
source: npc.cove.merrow art.prompt_seed, verbatim (the cast's seeds are framing + subject only, style-free by ADR-0137). Composed as ArtService.portraitAsk's authored-seed leg (ArtService.java:2224) → assembleArtPrompt(style, art.prompt_seed, null). Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml at master tip (v0.875.1); style clauses from the `art` block (R2a / COPY-LIVING-COVE §A, style + region_style + location_style + item_style + place_style).
painted storybook realism, soft brushwork, warm amber glow, gentle folk-tale wistfulness, unsigned, no text, no letters, no signature, no watermark. portrait of a plain-spoken fishmonger cradling one big gleaming silver fish in both arms like a christening, weathered blonde hair tied back, grief held behind a level gaze, scale-flecked apron
source: npc.cove.tessa art.prompt_seed, verbatim (the cast's seeds are framing + subject only, style-free by ADR-0137). Composed as ArtService.portraitAsk's authored-seed leg (ArtService.java:2224) → assembleArtPrompt(style, art.prompt_seed, null). Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml at master tip (v0.875.1); style clauses from the `art` block (R2a / COPY-LIVING-COVE §A, style + region_style + location_style + item_style + place_style).
painted storybook realism, soft brushwork, warm amber glow, gentle folk-tale wistfulness, unsigned, no text, no letters, no signature, no watermark. close-up head-and-shoulders portrait of a wary newcomer to the cove, oilskin collar turned up against the fog, curious eyes. appearance: young, black hair, stocky, empty-handed
source: art.avatar_seed verbatim + one FROZEN roll of the authored art.avatar_axes (option 0 of each axis), so the avatar row is as fixed as every other. Composed as the avatar/pet door (ArtService.java:2315) → assembleArtPrompt(style, frame, appearance, “appearance”). Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml at master tip (v0.875.1); style clauses from the `art` block (R2a / COPY-LIVING-COVE §A, style + region_style + location_style + item_style + place_style).
painted storybook realism, soft brushwork, warm amber glow, gentle folk-tale wistfulness, unsigned, no text, no letters, no signature, no watermark. close-up head-and-shoulders portrait of a wary newcomer to the cove, oilskin collar turned up against the fog, curious eyes. appearance: in their prime, brown hair, wiry, hands in pockets
source: art.avatar_seed verbatim + a second FROZEN roll of art.avatar_axes (option 1 of each axis) — the same door, a different authored appearance, so the pair shows what the axes do to a model. Composed as ArtService.java:2315. Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml at master tip (v0.875.1); style clauses from the `art` block (R2a / COPY-LIVING-COVE §A, style + region_style + location_style + item_style + place_style).
painted storybook realism, soft brushwork, warm amber glow, gentle folk-tale wistfulness, unsigned, no text, no letters, no signature, no watermark. a swollen grey waterlogged hand and forearm reaching up through black water in a flooded sea-cave, skin split at the knuckles, a frayed oilskin cuff at the wrist
source: foe.drowned_hand art.prompt_seed from foes.yml, verbatim. Composed as ArtService.portraitAsk's foe authored-seed leg (ArtService.java:2256) → assembleArtPrompt(style, trailMask(subject, maskClause), null) with NO mask clause — an unmasked foe, which is byte-identical to assembleArtPrompt(style, subject, null). Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml at master tip (v0.875.1); style clauses from the `art` block (R2a / COPY-LIVING-COVE §A, style + region_style + location_style + item_style + place_style).
painted storybook realism, soft brushwork, warm amber glow, gentle folk-tale wistfulness, unsigned, no text, no letters, no signature, no watermark. a towering figure of jagged translucent white salt crystal looming full-figure on stone basin steps, dry husk-people half-merged into its glittering mass, its head one uncut crystal
source: foe.salt_father art.prompt_seed from foes.yml, verbatim. Composed as ArtService.portraitAsk's foe authored-seed leg (ArtService.java:2256) → assembleArtPrompt(style, trailMask(subject, maskClause), null) with NO mask clause — an unmasked foe, which is byte-identical to assembleArtPrompt(style, subject, null). Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml at master tip (v0.875.1); style clauses from the `art` block (R2a / COPY-LIVING-COVE §A, style + region_style + location_style + item_style + place_style).
painted storybook realism, soft brushwork, warm amber glow, gentle folk-tale wistfulness, unsigned, no text, no letters, no signature, no watermark. a single character portrait, centered, head and shoulders, a young salvage-diver in a patched oilskin cut for swimming, short salt-stiff hair, her father's easy grin worn honest, a coil of thin line always on one shoulder
source: companion.kestrel `appearance`, verbatim (companions author an appearance, not an art seed). Composed as ArtService.portraitAsk's FIGURE leg (ADR-0111, ArtService.java:2222) → assembleArtPrompt(style, NPC_PORTRAIT_FRAME + ", " + figure, null), the same door a seedless-but-figured cast member takes. Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml at master tip (v0.875.1); style clauses from the `art` block (R2a / COPY-LIVING-COVE §A, style + region_style + location_style + item_style + place_style).
painted storybook realism, soft brushwork, warm amber glow, gentle folk-tale wistfulness, unsigned, no text, no letters, no signature, no watermark. a single character portrait, centered, head and shoulders, a broad-shouldered net-hauler in a tarred canvas coat, grey-streaked hair tied back with net twine, forearms like mooring posts, eyes the color of weather coming in
source: companion.skerry `appearance`, verbatim (companions author an appearance, not an art seed). Composed as ArtService.portraitAsk's FIGURE leg (ADR-0111, ArtService.java:2222) → assembleArtPrompt(style, NPC_PORTRAIT_FRAME + ", " + figure, null), the same door a seedless-but-figured cast member takes. Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml at master tip (v0.875.1); style clauses from the `art` block (R2a / COPY-LIVING-COVE §A, style + region_style + location_style + item_style + place_style).
painted storybook realism, soft brushwork, warm amber glow, gentle folk-tale wistfulness, unsigned, no text, no letters, no signature, no watermark. a white-patched black dog, close painterly study. appearance: black, a white patch
source: the pets entry's `frame` verbatim + its single-entry coat/markings palette as the rolled appearance (a single-entry palette is why every draw is the same dog). Composed as ArtService.attachPetAsync (ArtService.java:2315) → assembleArtPrompt(style, frame, appearance, “appearance”). Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml at master tip (v0.875.1); style clauses from the `art` block (R2a / COPY-LIVING-COVE §A, style + region_style + location_style + item_style + place_style).
painted storybook realism, soft brushwork, warm amber glow, gentle folk-tale wistfulness, a single hero object as an ornate loot icon, centered on dark stone, deep vignette, unsigned, no text, no letters, no signature, no watermark. a single vast pearl the colour of drowned moonlight on wet black stone, faintly luminous from within, fine rings trembling in the water-film around it, cold fog-blue and one wrong amber gleam
source: item.keepers_pearl art.prompt_seed, verbatim (legendary). Composed as the loot door (ArtService.java:1882) → assembleArtPrompt(item_style, lootPortraitSubject(def, band), null), at the AUTHORED SEED ALONE: lootPortraitSubject also splices a wound/condition band cue and the bearer's class motif, and a bench has neither a bearer nor a band. Stated so nobody reads this as the full loot prompt. Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml at master tip (v0.875.1); style clauses from the `art` block (R2a / COPY-LIVING-COVE §A, style + region_style + location_style + item_style + place_style).
painted storybook realism, soft brushwork, warm amber glow, gentle folk-tale wistfulness, a single hero object as an ornate loot icon, centered on dark stone, deep vignette, unsigned, no text, no letters, no signature, no watermark. a long salt-pitted gaff, a wickedly honed iron hook on a worn ash pole, laid across a coil of tarred line on grey planks, amber light catching the point, fog-blue cold
source: pool.cove.sefers_gaff art.prompt_seed, verbatim (epic). Composed as the loot door (ArtService.java:1882) → assembleArtPrompt(item_style, lootPortraitSubject(def, band), null), at the AUTHORED SEED ALONE: lootPortraitSubject also splices a wound/condition band cue and the bearer's class motif, and a bench has neither a bearer nor a band. Stated so nobody reads this as the full loot prompt. Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml at master tip (v0.875.1); style clauses from the `art` block (R2a / COPY-LIVING-COVE §A, style + region_style + location_style + item_style + place_style).