Skip to content

feat: text versions of every comic page - #51

Merged
banteg merged 3 commits into
mainfrom
feat/comic-text
Oct 30, 2026
Merged

banteg merged 3 commits into
mainfrom
feat/comic-text

Conversation

@banteg

@banteg banteg commented Oct 30, 2026 •

Copy link
Copy Markdown
Member

Adds a text version of all 112 comic pages, for screen-reader users and anyone else who wants it.

Data

Each page in content/comics.json gains:

  • scene: one or two plain sentences on what the page shows.
  • lines: every lettered line in reading order, as Speaker: text, in sentence case. A narration box is labelled with its narrator; scene-setting and omniscient narration is Caption. The other labels are Sign, Sound (meaningful sound effects only), Title, Logo, Credit, Legal and Ad.

That's 805 lines across the four issues. The JSON grows from about 37 KB to 95 KB.

Reader

  • Scroll mode: every page has a collapsed "Page N as text" disclosure under it.
  • Pages mode: one disclosure under the Previous/Next buttons follows the current page, so it stays open while you turn pages. It takes at most about a third of the screen and scrolls on its own.
  • Screen readers: each page's zoom button has aria-describedby pointing at its text, so screen readers announce it.
  • Plain HTML: the text is server-rendered <details>, so it works without JavaScript and is indexable. Reader pages grow from about 39 KB to 81–104 KB of HTML, mostly repeated text that compresses well.
  • Keys: the reader's shortcut keys ignore a focused <summary>, so Space opens the text instead of turning the page.

How the text was made

Four agents transcribed one issue each from high-resolution crops of the pages, zooming into the full-size scans where the lettering was small.

It was then proofread two ways:

  • Against the writer's scripts. Josh Blaylock's scripts turned up for issues 1–3 (from 2021–22, when the comic was still called PILLS), plus the plot for issue 4. They're earlier drafts, so the printed lettering wins on wording. The scripts settled who speaks where the art was unclear: narration boxes, off-panel voices, balloons without tails.
  • A separate page-by-page art audit. Every claim it made was re-checked against the scans. About a third were rejected, for example two miscounted letters and a mislabelled speaker that the script contradicted.

Judgement calls worth a look:

  • Names follow the comic. A character gets a name once the comic establishes it, otherwise a role ("Vendor", "Hulking crewmate"). The scripts name some of them ("Salma" for the vendor, "Ren" for the armored man), but print never does, so those stay roles.
    • The masked woman in issue 1 stays "Masked woman" until she names herself as Techne on page 23, which keeps the reveal.
    • Bunny is male, as the scripts and the issue 4 lettering ("his part") say.
  • Narrators by box colour: pink is Andre and lavender is Estonya. The scripts confirm both for issues 2 and 3, and issue 4 uses the same colours.
  • Still inferred: the Community caption on issue 4 page 10, a colour that appears nowhere else. Issue 3 page 12's red captions are confirmed as Dominion's by the script.
  • Lettering is kept as printed: "Eston'ya", "Y-Fu", "Y'ieldra", "Yield'ra", and printed typos such as "Assitance", "the the Markap cocktail" and "Dont' worry".

Lint, astro check and the build pass. Checked in the browser at 1280px and 375px:

  • both modes;
  • the text panel following page turns;
  • Space on the toggle;
  • the zoom buttons' aria-describedby targets;
  • no console errors.

each page carries a short scene description and every lettered line in
reading order, drafted from the page art. the reader shows them in a
page-by-page disclosure, follows the current page with one panel in
pages mode, and points each page's zoom button at its text so screen
readers announce it. the text is server rendered, so it works without
javascript and is searchable
@github-actions

github-actions Bot commented Oct 30, 2026 •

Copy link
Copy Markdown

Deploy preview for y-fu ready!

Project:y-fu
Status: ✅  Deploy successful!
Preview URL:https://y-az3u91qmb-yearn.vercel.app
Latest Commit:cf14680

Deployed with vercel-action

checked every page against the writer's scripts for issues 1-3 and the
issue 4 plot, and re-checked a separate art audit page by page.

- narration boxes name their narrator: pink is andre, lavender is
  estonya, as the scripts label them
- fixed speakers the art left unclear: the tavern whisper and the off
  panel "your fears are wasted" are andre, "hyah!" is neiluj, the
  vendor and alonz in issue 1, techne on issue 2 p6, logistics on
  issue 4 p23
- "and reeeeee?" is cron drawing out "andreeeeee?"
- added the missing shooom and choom sounds, the biker's "$#%!" in the
  back ad, and fixed reading order on five pages
- scene fixes: bunny is male, the blast that maims andre, cron's face
  and temple in andre's log, pills not seeds, the dropped breathing
  mask, estonya waking the other fintents, not the genesis tent
- issue 3 cover and credits use the same labels as the other issues
@banteg
banteg merged commit fdeda96 into main Oct 30, 2026
3 checks passed
@banteg
banteg deleted the feat/comic-text branch October 30, 2026 15:16

This branch was successfully deployed

1 active deployment
preview — cf146803 Deployed Oct 30, 2026 by github-actions[bot]
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