Dutch: art production spec

Drafted 2026-10-16 by Claude for Sarah; revised the same day after pilot round 1 to make the counter a working pawnshop. Source: docs/spec/dutch-art-spec.md. No open questions: the LOANS sign is decided (§14).

78
Confidence (top)
  • The new counter plate passes your shop test: +8
  • The counter figure, made as a masked edit, passes identity and hands over the plate: +8
  • A full counter-screen composite reads cleanly at phone size: +6

Your references

Neighborhood pawnshop: pegboard, luggage shelf, register, LOANS
Neighborhood pawnshop: pegboard, luggage shelf, register, LOANS
Jeweler's counter: lit case of rings, glass wall cabinets
Jeweler's counter: lit case of rings, glass wall cabinets
Showcase counters packed with goods (stock photo, mood only)
Showcase counters packed with goods (stock photo, mood only)
Guitar wall beside wire-mesh cabinets
Guitar wall beside wire-mesh cabinets
Dutch, identity master
Identity master: Fence Agent.jpg (1254 × 1254). Shop mode.

Status: drafted 2026-10-16 by Claude for Sarah, who is producing the art. Revised the same day after pilot round 1 (review): Sarah judged the first counter plate too much like a house and supplied references for a working pawnshop, so section 3, the counter layout, the back room and their prompts are rewritten. The LOANS sign is decided (section 14). Round 2 (same day) produced a plate that reads as a pawnshop with a thinner counter top than this spec first asked for; the bands below now follow that geometry, and the remaining fixes are horizontal (the sign, the cage door and the spike sat outside the phone crop). This spec turns the approved visual components frame into a production handoff: what each piece shows, its size, its registration, its acceptance check and its prompt. Character truth is the Fence bible; the decisions it records (pawnshop front, one counter screen, Fence Agent.jpg as master) are settled.

The app draws every word and number: prices, item names, the hold label, job details, ledger lines and his texts. The painter makes Dutch's two portrait states, Dutch at his counter, the pawnshop counter and its back room, eight item objects, his claim ticket, his envelope, a ledger page and his badge wallet.

1. What the art serves

Dutch is the Fence: a forgettable man behind a pawn counter who buys anything at one flat rate. He's an undercover police officer, Peregrine's connection inside the department, and after the burn her only steady ally.

2. Sources of truth

WhatFileRule
Narrative-world styleART_DIRECTIONApplies in full, including the visual QA checklist. No pendant or hanging lamp.
Asset handlingASSET_PRODUCTIONApplies in full: masters, honest resolution, real transparency, manifest.
IdentityPeregrine-Grid-Updated/Squares/Fence Agent.jpg (1254 × 1254)The master. Face, hairline, moustache, build, dark green work shirt over a black tee, glasses up, pencil behind the right ear, pen in the breast pocket. Fence Undercover.jpg is the earlier casting reference only.
CharacterThe Fence bibleForgettable on purpose; watches the seller, never the goods.
Format modelKingpin's Room art spec, The Alibi art briefRegistration, masked edits, anchors, manifest, import and review conventions.
DistinctnessKingpin's plates (Image-Assets/Kingpins-Room/plates/), The Alibi's room, The Raid's six locations, the Safecracker spec's placesDutch's pawnshop must not resemble any of them (section 3).
Ledger texturedocs/mockups/_assets.md, row "Coffee-ring + aged-paper stain"One ring, light foxing.

3. The pawnshop

Dutch's front: a working neighborhood pawnshop on a side street, open late. It hasn't changed in thirty years, and every wall is covered in things people hocked and never came back for. It's a shop, not a room in someone's house: commercial fixtures, glass showcases, pegboard, steel and mesh. Nothing in it is quite worth what the tag says.

References (Sarah, 2026-10-16; mood and furniture only, never to copy): a 1980s neighborhood pawnshop with pale green walls, pegboard, luggage stacked along the top shelf, a register and a LOANS sign; a 1940s jeweler's counter with rows of rings in a lit case and glass-fronted wall cabinets; a shop wall of hung guitars beside wire-mesh cabinets over a glass showcase.

ElementDescription
CounterA long glass showcase counter seen across its width, waist height: a dark oak base, a thin brushed-aluminum frame around the glass. On top, a black velvet counter pad runs across most of the width: that pad is where the app lays the three items. The showcase front below it is glass, warm-lit from within: rows of rings on trays, watches on stands (tick marks only, no numerals) and a few cameras. The items' paper tags hang down over it.
Behind Dutch, centerA bank of tall steel cabinets with wire-mesh doors, closed, shelves of boxed goods dim behind the mesh. It sits directly behind his head and shoulders as an even, dark mid-tone so he reads against it.
Behind Dutch, leftPegboard wall: three or four guitars hung by their necks, a trumpet, a power drill and hand tools on hooks, a portable radio. Below it, on a back counter at his left, an old mechanical cash register with blank keys.
Along the topOne long shelf across the whole back wall, under the ceiling, packed with stacked hard-shell suitcases and typewriter cases.
Back-room doorRight of center: a wire-mesh security cage door, half open, darkness beyond.
Hold hookStanding on top of the counter at its right end, near the back edge: a brass spike file on a small round wooden base, empty, sized for a claim ticket. Never inside the case.
LOANS signOn the wall above the cage door: a red neon tube sign reading LOANS, lit, tubes visible, a faint red cast on the wall around it and no bloom (Q1, decided).
Walls and ceilingPale institutional green paint where the wall shows; a ceiling of stained acoustic tiles.
LightClosing time. Flush ceiling fluorescent tubes, out of frame or flat to the ceiling, with only one run still on: cool green-white light from above. The showcase glows warm from inside. The neon adds a small red accent on the right. Nothing hangs from the ceiling.

Palette. Pale institutional green, dark oak, brushed aluminum, brass, the warm amber of the case light, one red accent from the neon. Brighter and more commercial than The Alibi's room, cheaper than Kingpin's supper club, no safe anywhere.

Never in the plate. People, Dutch, items lying on the counter pad, tags, price cards or handwritten signs, text or numerals other than the one LOANS sign, readable clock faces, a pendant or hanging lamp, a safe, a flat-screen TV, a phone or a game console (they date the shop and draw the eye), wet or glossy surfaces, bloom, smoke, guns or knives on display.

Mood. Patient. The shop is open late because he is. The fluorescent hum is the only sound.

4. The counter screen: camera and layout

Camera. Standing at the customer's side of the counter, eye height about 1.6 m, looking across and slightly down. Dutch stands behind it, facing camera.

Canvas. Portrait 2:3. Generate at 1024 × 1536 until the assembly review passes, then upscale the plate and every layer registered to it by exactly 1.5× to 1536 × 2304, as one set by one method, and re-run the review. The manifest records the native size and method; an upscaled file is never described as native.

Phone fit (iPhone 16 Pro Max, 440 × 956 pt). The app fills the height and crops the sides, about 15.5% of plate width per side. Keep Dutch, the cage door, the LOANS sign and the hold hook inside the central 66% of the width.

BandPlate heightWhat it holdsArt rule
Header0–8%Status bar, Dynamic Island, the coin countCeiling tiles in shadow; no lit fixture. Quiet.
Dutch8–48%Dutch from mid-chest up, behind the counter; the suitcase shelf, mesh cabinets, pegboard and cage door behindHead at about 14–26%. The mesh cabinets keep the area right behind him even. The walls beside him may be busy: his line of dialogue sits on a dark scrim, as in The Alibi.
Counter top48–61%The black velvet pad with three item spots in a row (about 115 pt tall on the phone), and the hold hook at the pad's right endThe pad is even and matte. Nothing painted on it; the hook stands on the glass beside it.
Showcase front61–76%The items' paper tags, hanging from their string loopsThe lit case: busy is fine, because the tags are opaque paper.
Dock76–100%Buy buttons, the item's description, the home indicatorThe oak base. Quiet.

Each band line may fall within ±2% of the table.

Layer order. dutch_counter, dutch_counter_figure_shadow, dutch_counter_figure, then the app's items, tags, the held item's ticket on the hook, and UI.

Anchors (in anchors.json, plate pixels): the three item spots' centers and footprint (each fits an item at about 90 pt), the hold hook's spike tip, the cage door's tap rectangle, the dialogue area beside Dutch.

5. Dutch

### 5.1 The two portrait states

AssetWhat changesHow it's madeSize
dutch_portrait_shopNothing: the master, square-cropped as deliveredCopied from Fence Agent.jpg1254 × 1254
dutch_portrait_off_recordGlasses down and worn over the eyes; pencil gone from behind the ear; pen gone from the pocket. Expression unchanged.A masked edit of the master. Mask masks/dutch_portrait_edit.png covers the forehead and eye band, the right ear and the breast pocket. Outside it, the image is pixel-identical to the master.1254 × 1254

The glasses are the same frames that sit on his forehead in the master: thin metal, rounded rectangles. Lenses are clear with a faint reflection; his eyes read through them.

### 5.2 Dutch at the counter

dutch_counter_figure: Dutch from mid-chest up, standing behind the counter in shop mode, both forearms resting on the glass's far edge, hands loosely together. He looks at the camera, unhurried. He holds nothing.

### 5.3 The avatar

dutch_avatar: generated by the importer from dutch_portrait_shop, a centered square crop from the top of the head to the top of the pocket, 512 × 512, which the app masks to a circle at 40 pt in Messages. Not painted.

6. The back room

dutch_backroom: through the cage door. The pawnshop's storage cage: steel shelving and wire-mesh bays packed with unclaimed things, each wrapped or bagged with a blank claim ticket tied on, guitars in soft cases standing in a row, boxed radios and typewriters, a workbench with a jeweler's loupe, a small scale and a bench lamp on an arm. Flush fluorescent light, half the tubes out. The same green, oak, aluminum and brass as the shop, dimmer and closer.

7. The items

Eight objects, each a transparent layer seen front-on and slightly from above, as if lying on the glass, with a soft baked contact shadow and a short string loop where the app ties its tag. Same light as the counter plate: cool white from above, with a faint warm bounce from the case below. 600 × 600 native, object filling about 70% of the canvas, readable at 90 pt.

AssetItemObject
dutch_item_cushionCushionA small square jeweler's pad in faded dark-blue velvet
dutch_item_swapSwapTwo blank claim tickets pinned together through the punched holes
dutch_item_freezeFreezeA nickel pocket stopwatch, crown pulled out, face blank of numerals
dutch_item_alibiAlibiA closed bar matchbook, plain dark cover, no lettering
dutch_item_surveySurveyA brass surveyor's compass with its lid open, the card blank of letters
dutch_item_mirrorMirror LineA folding pocket mirror, half open, reflecting only a soft warm blur
dutch_item_buybackBuy-backA playing-card-sized card lying face down, plain dark back, clipped with a bulldog clip
dutch_item_lookA lookA folded swatch of patterned cloth with a corner of wallpaper beneath it

Rules. No lettering, numerals, logos or brand marks on any object. Each object's silhouette must differ from the others at 90 pt. New items join the set under the same rules.

8. His paper and props

AssetWhat it showsNative size (px)Notes
dutch_claim_ticketA buff card claim ticket, rounded top corners, a punched reinforced hole at the top with a short string loop, blank: no number, no printed lines700 × 1000Nine-slice; hole and string inside the top cap. Used for item tags (scaled small), the hold slot, and Safecracker job tickets (large). Replaces safecracker_paper_ticket.
dutch_envelope_sealedA kraft envelope tied with string around a button, a blank claim ticket tucked under the knot1200 × 900Front-on, flat, transparent outside, baked shadow.
dutch_envelope_openThe same envelope, string loose, flap open, empty1200 × 900Registered to the sealed state: same outline below the flap.
dutch_ledger_pageOne page of a cash ledger: cream stock, a single coffee ring near a corner, light foxing, one vertical red margin rule, no horizontal ruling, no writing1200 × 1600Nine-slice; the app sets the Fence's Book entries on it.
dutch_badge_walletA worn brown leather wallet lying half open on dark wood, a police shield on one side with no lettering, numbers or crest, an empty ID window on the other900 × 700Opaque, its own small plate. Private surfaces only.

9. Manifest and import

Folder: Image-Assets/Dutch/dutch-production/.

FolderFiles
portraits/dutch_portrait_shop, dutch_portrait_off_record
plates/dutch_counter, dutch_backroom
figures/dutch_counter_figure, dutch_counter_figure_shadow
items/the eight dutch_item_*
paper/dutch_claim_ticket, dutch_envelope_sealed, dutch_envelope_open, dutch_ledger_page, dutch_badge_wallet
masks/dutch_portrait_edit (not imported)

That's 19 runtime files plus the generated avatar. Also: manifest.json (dimensions, native size, upscale method, alpha, byte size, SHA-256, cap insets), anchors.json (section 4), specs/prompts.json (exact prompts, model, size and references for every image used) and review/ (section 10).

Proposed importer, tools/dutch_import.py (not written; follows tools/kingpin_import.py):

10. Acceptance

Review composites in review/: the counter alone; the counter with Dutch; a full counter screen (three items, a held ticket, dialogue, dock); the back room with a look list; both portraits and the avatar side by side; the eight items at 90 pt; a stretched claim ticket as a Safecracker job; the ledger page with sample lines; both envelope states on the Desk.

11. Production order

  1. Pilot: dutch_portrait_off_record, dutch_counter, dutch_counter_figure and its shadow. These carry the identity and the counter screen; pass the identity, hands and reading checks before going on.
  2. The eight items and the claim ticket (the shop works once these exist).
  3. The back room, the envelope, the ledger page and the badge wallet.

12. Generation prompts

Shared style line, appended to every place and prop prompt: Graphic-novel noir finish: deliberate ink contours, restrained painterly shading. Matte materials, no gloss. Restrained practical light. No text, numerals, logos or signage. For Dutch himself, replace the first sentence with Soft painted realism, no ink outlines, matching the reference portrait's finish.

dutch_portrait_off_record (masked edit of the master)

In this exact portrait, inside the masked areas only: bring the glasses down from his forehead and set them on his nose over his eyes, the same thin metal rounded-rectangle frames, clear lenses with a faint reflection, his eyes visible through them; remove the pencil from behind his right ear and restore his ear and hair there; remove the pen from his breast pocket, leaving the pocket flat. Keep his expression, face, lighting and everything outside the mask unchanged. 1254 × 1254.
Reference: Peregrine-Grid-Updated/Squares/Fence Agent.jpg.

dutch_counter

Interior of a working neighborhood pawnshop at closing time, seen standing at the customer's side of a long glass showcase counter, eye height about 1.6 m, looking across and slightly down. A commercial shop, not a home. The showcase has a dark oak base and a thin brushed-aluminum frame; inside the front, rows of rings on trays, watches on stands with tick marks and no numerals, and a few cameras. The counter top runs from 48% to 61% of image height, nearly all of it covered by an empty black velvet counter pad; below it the glass showcase front, lit warm from within, runs to 76%, and the dark oak base fills the rest. Standing on the glass at the pad's right end, near the back edge (about x 76–80%), an empty brass spike file on a small round wooden base. Behind the counter, an empty space where a man will stand. Directly behind that space, a bank of tall steel cabinets with closed wire-mesh doors, dim boxed goods behind the mesh, even and dark. To the left, a pegboard wall with three or four guitars hung by their necks, a trumpet, hand tools and a power drill on hooks, a portable radio; below it, on a back counter, an old mechanical cash register with blank keys. Along the top of the back wall, one long shelf packed with stacked hard-shell suitcases. Right of center (between x 60% and 80%), a doorway with a wire-mesh security cage door, half open onto darkness; above it, a red neon tube sign spelling LOANS, the whole word between x 60% and 80%, lit, with a faint red cast on the wall and no glow halo. Pale institutional green walls, stained acoustic ceiling tiles. Cool green-white light from flush ceiling fluorescents out of frame, only one run on; the showcase glows warm from inside. Keep Dutch's space, the cage door, the whole sign and the spike inside the central 66% of the width (x 17–83%). The top 8% is ceiling tiles in shadow, above the suitcase shelf. No people, nothing on the velvet pad, no price cards or handwritten signs, no other lettering or numerals, no hanging lamp, no safe, no flat-screen TV or phones, no guns or knives. Portrait 2:3, 1024 × 1536.
References (mood and furniture only): Sarah's four pawnshop photos, 2026-10-16.

dutch_counter_figure (generated over the approved plate, then extracted)

Add one man standing behind the counter in this exact shop, seen from mid-chest up, facing the camera, unhurried, both forearms resting on the back edge of the counter top, hands loosely together, five fingers each, clearly drawn. Do not add any ledge, shelf or glass under his arms. He is the man in the reference portrait: same face, hairline, moustache and build; dark green button work shirt over a black tee; reading glasses pushed up on his forehead; a pencil behind his right ear; a pen in his breast pocket. He holds nothing. The top of his head at about 12–14% of image height, his chin at about 25%, inside the central 66% of the width. Cool white light from overhead fluorescents, warm light rising from the case below. Inside the masked area only; change nothing outside the mask. 1024 × 1536.
Mask: masks/dutch_counter_figure_zone.png. References: the approved dutch_counter; Peregrine-Grid-Updated/Squares/Fence Agent.jpg for identity.

dutch_backroom

The storage cage behind a pawnshop at closing time, seen standing in its doorway at about 1.6 m. Steel shelving and wire-mesh bays packed with unclaimed goods, each wrapped or bagged with a blank buff claim ticket tied on; guitars in soft cases standing in a row; boxed radios and typewriters. A workbench with a jeweler's loupe, a small scale and a bench lamp on an arm. Flush ceiling fluorescents, half the tubes out, cool green-white; pale green walls; dark oak, aluminum and brass. The lower 60% of the image is the workbench top running into deep, even shadow, plain and uncluttered. No people, no text or numerals, no hanging lamp, no safe, no weapons, no flat-screen TV. Portrait 2:3, 1024 × 1536.

Items (one prompt each, this pattern)

A single [object from section 7] lying on a black velvet counter pad, seen front-on and slightly from above, lit by cool white overhead light with a faint warm bounce from below. A short loop of plain string attached where a paper tag will be tied. No lettering, numerals or logos. Transparent background with a soft contact shadow. Object fills about 70% of the frame. 600 × 600.

dutch_claim_ticket

A single blank claim ticket of buff card stock, seen perfectly front-on and flat, rounded top corners, a punched reinforced hole near the top with a short loop of plain string through it. No number, no printing, no lines, no marks. Faint card texture, slightly worn edges. Transparent background with a soft contact shadow. Even, plain middle for text. 700 × 1000.

dutch_envelope_sealed / _open

A kraft paper envelope seen front-on and flat, closed with plain string wound around a button, a blank buff claim ticket tucked under the knot. No writing, stamps or postmarks. Transparent background with a soft contact shadow. 1200 × 900. (Open state: the same envelope with the string loose and the flap open, empty inside; identical outline below the flap.)

dutch_ledger_page

A single blank page from a bound cash ledger, cream stock, seen front-on and flat, one thin vertical red margin rule near the left edge, no horizontal ruling, no writing, a single faint coffee ring near one corner, light foxing. Transparent background with a soft contact shadow. Even middle for text. 1200 × 1600.

dutch_badge_wallet

A worn brown leather badge wallet lying half open on dark wood, seen from above at a slight angle. On one side a plain metal police shield with no lettering, numbers or crest; on the other, an empty clear ID window. Warm low light from upper left. 900 × 700.

13. Final review

Pros. Every Dutch surface comes from one identity master, and the only portrait change is a masked edit, so he can't drift into a different man. The counter screen follows the Alibi and Kingpin registration pattern the app already handles. His claim ticket ties his shop, his hold slot and Safecracker's jobs together with one object. Nothing he sells needs lettering, so the app owns every word but the shop's one sign.

Cons. The counter figure is a new painting of Dutch, so identity must be checked by eye. Generated glasses over eyes often warp the eyes behind them. Eight item objects in one consistent light take care to keep matched. A crowded pawnshop works against the calm the counter band needs; the velvet pad and the even mesh cabinets behind him carry that calm, and his dialogue needs a scrim. A painted sign is the one place a generator can garble lettering.

Edge cases. On a 393 pt phone the side crop grows to about 16% per side, which the central-66% rule covers. Large Dynamic Type lengthens tags, so the app may need to drop prices below the item rather than on the tag. If the generator can't keep the off-the-record edit pixel-identical outside the mask, the importer check blocks it and the edit is composited by hand (pilot round 1 needed this; the composite passed). If the LOANS letters come out wrong, a masked edit fixes the sign alone.

Confidence: 78. The off-the-record portrait has passed its mask check. Raised by the new counter plate passing Sarah's shop test (+8), the counter figure made as a masked edit and passing identity and hands over the plate (+8), and a full counter-screen composite reading cleanly at phone size (+6).

14. Decided

QuestionDecision
Q1Does the plate carry a painted LOANS neon sign?Yes, painted (Sarah, 2026-10-16). It is the one exception to the no-lettering rule, as ART_DIRECTION allows when a brief asks for it.
78
Confidence (bottom)
  • The new counter plate passes your shop test: +8
  • The counter figure, made as a masked edit, passes identity and hands over the plate: +8
  • A full counter-screen composite reads cleanly at phone size: +6