Re-illustrate Series Three from real photographs (40 of 50) - #13
Closed
ralyodio wants to merge 2 commits into
Closed
Re-illustrate Series Three from real photographs (40 of 50)#13ralyodio wants to merge 2 commits into
ralyodio wants to merge 2 commits into
Conversation
…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
Contributor
Author
|
Superseded by a clean branch off current master — this one conflicted because #12 was squash-merged. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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: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.jsoncarries source, licence and licence URL per card. Photos that are ordinary bio shots rather than freely licensed are recorded assuppliedrather 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 fetchre-obtains the set from the manifest.Verified
tsc --noEmitandpnpm buildclean; 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