Skip to content

Re-illustrate Series Three from real photographs (40 of 50) - #13

Closed
ralyodio wants to merge 2 commits into
masterfrom
revert-fabricated-faces
Closed

Re-illustrate Series Three from real photographs (40 of 50)#13
ralyodio wants to merge 2 commits into
masterfrom
revert-fabricated-faces

Conversation

@ralyodio

@ralyodio ralyodio commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Replaces the art withdrawn in #12. Every portrait is now generated image-to-image from an identified photograph of the actual person, so the faces are likenesses instead of inventions. The 10 cards with no verified photograph carry a plate saying so — nobody gets a fabricated face.

Finding the photographs

New scripts/security-refs.mjs. Identity is verified, not assumed, because a name search returns humans rather than the right human. Left unchecked, this pipeline wanted to put:

Card What the naive lookup found
Michael Howard the British Conservative Party leader
Robert M. Lee a Confederate general (via a Julian Vannerson daguerreotype)
Mark Dowd a Liverpool city councillor
Jeff Williams a Canadian rugby player
Ivan Ristić an art historian
Martin Roesch a different Martin (Wagenleiter)

So the resolver requires a surname match against the Wikidata label, rejects photographs dated before 1950, requires a Commons filename to open with the person's full name, and carries an explicit reject list with a written reason per entry. Everything that survived was still reviewed by eye against a contact sheet — which is what caught the rest.

Sources in order of authority: hand-verified overrides → Wikidata P18 → Commons search → nothing. 24 are independently confirmed by the file being used on that person's own Wikipedia article. Openverse turned up CC BY-SA conference photography for Venema, Deraison and Ptacek, including a hack.lu 2006 set that incidentally proved the Wikidata P18 for Venema is a different man.

Attribution

Most references are CC BY or CC BY-SA, and a conditioned portrait is a derivative work, so the photographer is credited on the card back and in a "Portrait" block on the card page. data/security-references.json carries source, licence and licence URL per card. Photos that are ordinary bio shots rather than freely licensed are recorded as supplied rather than claiming CC terms the deck cannot back.

The reference photographs themselves are gitignored — painting from them is a different act from redistributing them, and security-refs.mjs fetch re-obtains the set from the manifest.

Verified

  • Portraits compared side by side against their source photographs; likeness holds (including Parisa Tabriz's pink hair, which is in the source rather than invented).
  • Full 50-card contact sheet reviewed: Denning and Perlman render as women, Snyder correctly, Lee with the red beard, Diffie white-bearded, Grossman short-haired.
  • tsc --noEmit and pnpm build clean; 50 card fronts, 50 card pages, credits rendering.

Still faceless (10), pending a licensed photograph

Gerald Combs, Robert Hansen, Jeff Williams, Gary McGraw, Michael Howard, Ivan Ristić, Mark Dowd, Thomas Dullien, Heather Adkins, Katie Nickels.

🤖 Generated with Claude Code

https://claude.ai/code/session_014htrUgbnoKQt9iT4G7hUpy

ralyodio and others added 2 commits September 8, 2026 01:55
…enesses

The first art pass generated every portrait from a text prompt alone. The model
was never shown a photograph, so it produced a plausible-looking stranger for
each name rather than the actual person — Jeremiah Grossman's card in particular
looks nothing like him, and Whitfield Diffie's is not far off a generic
long-haired archetype.

For a set that presents itself as documented, sourced history, an invented face
attributed to a living person is the same class of defect as the fabricated
quotes this set was already built to avoid. It is arguably worse: the scouting
reports are all checkable, and the picture beside them was not.

So all 50 faces are withdrawn from the site and the 50 source portraits are
deleted rather than kept, because their only use would be re-rendering the same
wrong likenesses.

What replaces them, in a follow-up:
  - Generation conditioned on a real, freely-licensed reference photo, with the
    photographer credited. A survey of the roster finds ~37 of 50 have a usable
    photo on Wikimedia Commons, though several Wikidata matches point at the
    wrong human (Michael Howard resolves to the British politician) so each
    identity has to be verified rather than trusted.
  - Anyone with no free reference photo gets no face at all, not an invented one.

Card pages are gated on art existing, so `generateStaticParams` now filters on
`front` instead of prerendering 404s for every slug.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014htrUgbnoKQt9iT4G7hUpy
Replaces the withdrawn art. Every portrait is now generated image-to-image from
an identified photograph of the actual person, so the faces are likenesses
rather than inventions. The 10 cards with no verified photograph carry a plate
saying so — nobody gets a fabricated face.

Finding the photographs (scripts/security-refs.mjs)
---------------------------------------------------
Identity is verified, not assumed, because a name search returns humans rather
than the right human. Left unchecked this pipeline wanted to put the British
Conservative Party leader on Michael Howard's card, a Confederate general on
Robert M. Lee's, a Liverpool councillor on Mark Dowd's, a Canadian rugby player
on Jeff Williams', and an art historian on Ivan Ristic's.

So the resolver requires a surname match against the Wikidata label, rejects
photographs dated before 1950, requires a Commons filename to *open* with the
person's full name, and carries an explicit reject list with a written reason
per entry. Everything that survived was still reviewed by eye against a contact
sheet, which is what caught the remaining bad matches.

Sources, in order of authority: hand-verified overrides, Wikidata P18, Commons
search, then nothing. 24 are confirmed by the file being used on that person's
own Wikipedia article. Openverse turned up CC BY-SA conference photography for
Venema, Deraison and Ptacek, including a hack.lu 2006 set that also proved the
Wikidata P18 for Venema is a different man.

Attribution
-----------
Most references are CC BY or CC BY-SA and a conditioned portrait is a derivative
work, so the photographer is credited on the card back and on the card page, and
data/security-references.json carries source, licence and licence URL. Photos
that are ordinary bio shots rather than freely licensed are recorded as
"supplied" instead of claiming CC terms the deck cannot back.

The reference photographs themselves are gitignored. Painting from them is a
different act from redistributing them, and `security-refs.mjs fetch` re-obtains
the set from the manifest.

Still faceless (10), pending a licensed photograph
--------------------------------------------------
Gerald Combs, Robert Hansen, Jeff Williams, Gary McGraw, Michael Howard,
Ivan Ristic, Mark Dowd, Thomas Dullien, Heather Adkins, Katie Nickels.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014htrUgbnoKQt9iT4G7hUpy
@ralyodio

ralyodio commented Sep 8, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by a clean branch off current master — this one conflicted because #12 was squash-merged.

@ralyodio ralyodio closed this Sep 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant