← back to Crazy News Channel Shadowman
cartoons/manifest.js
431 lines
// cartoons/manifest.js — the P24 Political Cartoon Desk archive data.
// Loaded as a plain <script src> (matching the stories-data.js pattern used by the
// main P24 page) rather than fetched as JSON, because this project's whole design
// contract is offline-capable file:// use with no server (see ../README.md) — a
// fetch() of a sibling JSON file is blocked under file:// in Chrome/Safari and
// silently mis-renders the empty state instead of erroring (TK-12133 finding #2).
//
// STANDING RULE (Steve, verbatim: "always link images cartoons to the real
// article" — codified TK-12158, 2026-09-24): every cartoon entry below MUST
// carry a non-null story_id that resolves to a real entry in
// ../stories-data.js (window.P24_EXTRA_STORIES) or ../real-news-data.js
// (window.P24_REAL_STORIES) — see cartoons/index.html's storyCategoryById()
// for exactly how story_id is resolved and used. A cartoon with story_id:
// null is a GAP TO FIX, never a valid end state. If a cartoon's topic has no
// underlying article yet, write one into stories-data.js (matching the
// window.P24_EXTRA_STORIES schema: id, category, categoryLabel, location,
// byline, image, intervalSec, offsetSec, stageIndex, article{dek,
// photoCaption, paragraphs}, stages[]) BEFORE — or in the same change as —
// adding the cartoon here. Several cartoons drawn as visual style-contest
// variants of the same underlying event (e.g. the three "Filibuster
// Marathon" strips) should share ONE story_id rather than each getting a
// duplicate story. TK-12158 backfilled 9 cartoons that had shipped with
// story_id: null (6 new story entries covering them, one shared by 3
// cartoons) — do not reintroduce that gap.
//
// HARD RULE (TK-12165, 2026-09-24): every cartoon entry below MUST also
// carry a non-empty `tags` array — inherit its linked story's tags
// (window.P24_EXTRA_STORIES / window.P24_REAL_STORIES via story_id)
// plus at most 1-2 cartoon-specific tags (e.g. "editorial cartoon",
// "classic editorial ink"). build-cartoon-batch.sh's FAIL check enforces
// this the same way it enforces story_id.
window.P24_CARTOONS = [
{
"id": "commission-turtles",
"title": "Commissions All the Way Down",
"file": "20260924-commission-turtles.html",
"created_at": "2026-09-24T17:05:00Z",
"category": "Political Cartoon",
"section": "politics",
"blurb": "A blue-ribbon commission recommends forming a commission to study its own recommendation. It keeps going.",
"thumb": null,
"story_id": "pw-commission-turtles",
"tags": [
"bureaucracy",
"city council",
"small town news",
"editorial cartoon"
]
},
{
"id": "meter-that-wouldnt-yield",
"title": "The Meter That Wouldn't Yield",
"file": "20260924-meter-that-wouldnt-yield.html",
"created_at": "2026-09-24T17:10:26Z",
"category": "Political Cartoon",
"section": "politics",
"blurb": "Erie's most reliable parking meter is honored, seated on the council, re-elected, and sworn in as one-day mayor — and now won't leave the office.",
"thumb": null,
"story_id": "pw-meter-street",
"tags": [
"city council",
"parking",
"bureaucracy",
"small town news",
"editorial cartoon"
]
},
{
"id": "row-by-row-only",
"title": "Row by Row Only",
"file": "20260924-row-by-row-only.html",
"created_at": "2026-09-24T17:10:26Z",
"category": "Political Cartoon",
"section": "politics",
"blurb": "Kansas legislates the one true method for eating corn on the cob, deputizes Corn Marshals, and bans cob holders as cheating devices.",
"thumb": null,
"story_id": "pw-corn-etiquette",
"tags": [
"state legislature",
"bureaucracy",
"food traditions",
"ordinance",
"editorial cartoon"
]
},
{
"id": "gnome-who-wouldnt-hush",
"title": "The Gnome Who Wouldn't Hush",
"file": "20260924-gnome-who-wouldnt-hush.html",
"created_at": "2026-09-24T17:10:26Z",
"category": "Political Cartoon",
"section": "politics",
"blurb": "Duluth taxes loud lawn gnomes, registers them, ankle-monitors repeat offenders, and finally convenes a Gnome Parole Board.",
"thumb": null,
"story_id": "pw-lawn-gnome-tax",
"tags": [
"lawn ornaments",
"city council",
"ordinance",
"bureaucracy",
"editorial cartoon"
]
},
{
"id": "four-minutes-ahead",
"title": "Four Minutes Ahead of Everyone",
"file": "20260924-four-minutes-ahead.html",
"created_at": "2026-09-24T17:10:26Z",
"category": "Political Cartoon",
"section": "politics",
"blurb": "Bozeman sets its town clock four minutes fast, declares its own time zone, and petitions to secede from Mountain Time entirely.",
"thumb": null,
"story_id": "pw-clock-secession",
"tags": [
"city council",
"bureaucracy",
"small town news",
"editorial cartoon"
]
},
{
"id": "casserole-succession",
"title": "The Casserole Succession",
"file": "20260924-casserole-succession.html",
"created_at": "2026-09-24T17:10:26Z",
"category": "Political Cartoon",
"section": "politics",
"blurb": "Savannah imposes term limits on its ceremonial Bean Queen, the sash won't come off, and a courthouse finally settles it by casserole, not bloodline.",
"thumb": null,
"story_id": "pw-bean-queen",
"tags": [
"pageantry",
"city council",
"food traditions",
"editorial cartoon"
]
},
{
"id": "hedge-non-aggression-pact",
"title": "The Hedge Non-Aggression Pact",
"file": "20260924-hedge-non-aggression-pact.html",
"created_at": "2026-09-24T17:10:26Z",
"category": "Political Cartoon",
"section": "politics",
"blurb": "Washington regulates statue-shaped hedges, fines a homeowner, gets accused of hedge espionage, and signs a topiary treaty with Idaho.",
"thumb": null,
"story_id": "pw-hedge-statue",
"tags": [
"monuments",
"city council",
"ordinance",
"editorial cartoon"
]
},
{
"id": "budget-pie-fight",
"title": "Who Gets the Last Slice",
"file": "20260924-budget-pie-fight.html",
"created_at": "2026-09-24T21:40:00Z",
"category": "Political Cartoon",
"section": "politics",
"blurb": "An invented town's budget pie gets re-sliced smaller across three courses while five invented departments hold their forks; drag the slider and watch who ends up with crumbs.",
"thumb": null,
"story_id": "pw-budget-pie-slice",
"tags": [
"budget",
"city council",
"bureaucracy",
"editorial cartoon"
]
},
{
"id": "pork-barrel-train",
"title": "The Pork Barrel Express",
"file": "20260924-pork-barrel-train.html",
"created_at": "2026-09-24T22:15:00Z",
"category": "Political Cartoon",
"section": "politics",
"blurb": "An invented infrastructure bill leaves committee as a single train car and picks up wildly unrelated riders — a desert lighthouse, a ferris wheel, a spoon museum — at every stop; click a car for its invented cost.",
"thumb": null,
"story_id": "pw-pork-barrel-express",
"tags": [
"state legislature",
"infrastructure",
"budget",
"lobbying",
"editorial cartoon"
]
},
{
"id": "quorum-call-hide-seek",
"title": "The Quorum Call",
"file": "20260924-quorum-call-hide-seek.html",
"created_at": "2026-09-24T23:05:00Z",
"category": "Political Cartoon",
"section": "politics",
"blurb": "An invented legislative chamber plays hide-and-seek to dodge a quorum call, propping paper cutouts in empty chairs while the Sergeant-at-Arms searches a suspiciously form-shaped closet; each plot twist relocates the hiding spot.",
"thumb": null,
"story_id": "pw-quorum-hide-seek",
"tags": [
"state legislature",
"quorum tricks",
"bureaucracy",
"editorial cartoon"
]
},
{
"id": "cloture-oclock",
"title": "Cloture o'Clock",
"file": "20260924-filibuster-vs-cloture.html",
"created_at": "2026-09-24T23:45:00Z",
"category": "Political Cartoon",
"section": "politics",
"blurb": "An invented chamber's ceremonial floor clock is wound tight by one side and wound right back by the other, ticking forward and backward until it just shrugs; each plot twist changes its face.",
"thumb": null,
"story_id": "pw-cloture-oclock",
"tags": [
"state legislature",
"filibuster",
"quorum tricks",
"editorial cartoon"
]
},
{
"id": "tollpoints-diamond-status",
"title": "The Booth That Became an Airline",
"file": "20260924-tollpoints-diamond-status.html",
"created_at": "2026-09-24T17:30:00Z",
"category": "Editorial Cartoon",
"section": "business",
"blurb": "Ashtabula's toll bridge rewards E-ZPass loyalty with points, gift cards, a Gold Lounge, and eventually its own currency and chartered flight.",
"thumb": null,
"story_id": "bs-toll-loyalty",
"tags": [
"loyalty programs",
"infrastructure",
"small town news",
"editorial cartoon"
]
},
{
"id": "jackalope-custody-battle",
"title": "The Jackalope Custody Battle",
"file": "20260924-jackalope-custody-battle.html",
"created_at": "2026-09-24T17:30:00Z",
"category": "Editorial Cartoon",
"section": "entertainment",
"blurb": "Story City unveils a 14-foot jackalope statue; neighboring Radcliffe claims the legend, and a governor's accord ends with the statue on a biweekly trailer tour.",
"thumb": null,
"story_id": "es-jackalope-statue-town-rivalry",
"tags": [
"monuments",
"tourism",
"rivalry",
"editorial cartoon"
]
},
{
"id": "tuber-bank-of-chugwater",
"title": "The Tuber Bank of Chugwater",
"file": "20260924-tuber-bank-of-chugwater.html",
"created_at": "2026-09-24T17:30:00Z",
"category": "Editorial Cartoon",
"section": "scitech",
"blurb": "A Wyoming lab's potato-powered soil sensors outlast lithium cells, get their own custom-bred spud, and end up wired into the county's emergency power grid.",
"thumb": null,
"story_id": "sci-battery-potato",
"tags": [
"agriculture",
"science oddity",
"renewable energy",
"research",
"editorial cartoon"
]
},
{
"id": "the-zipper-that-ended-an-inning",
"title": "The Zipper That Ended an Inning",
"file": "20260924-the-zipper-that-ended-an-inning.html",
"created_at": "2026-09-24T17:30:00Z",
"category": "Editorial Cartoon",
"section": "sports",
"blurb": "A minor-league mascot's zipper fails mid-dance, and the fallout escalates through a reinforced costume, an 11-point checklist, and a league-wide Mascot Integrity Officer.",
"thumb": null,
"story_id": "sw-mascot-costume",
"tags": [
"mascots",
"local sports",
"small town news",
"editorial cartoon"
]
},
{
"id": "the-corner-with-its-own-weather",
"title": "The Corner With Its Own Weather",
"file": "20260924-the-corner-with-its-own-weather.html",
"created_at": "2026-09-24T17:30:00Z",
"category": "Editorial Cartoon",
"section": "weather",
"blurb": "A stubborn crosswind at one Montana intersection earns a windsock, a paid Wind Spotter, a proposed windbreak, and finally its own festival.",
"thumb": null,
"story_id": "sw-persistent-crosswind",
"tags": [
"weather anomaly",
"science oddity",
"small town news",
"editorial cartoon"
]
},
{
"id": "lobbyist-revolving-door",
"title": "The Revolving Door",
"file": "20260924-lobbyist-revolving-door.html",
"created_at": "2026-09-24T17:54:48Z",
"category": "Political Cartoon",
"section": "politics",
"blurb": "An invented capitol official spins out of the revolving door as a regulator and spins back in seconds later as a lobbyist, carrying a slightly bigger briefcase every revolution.",
"thumb": null,
"story_id": "pw-lobbyist-revolving-door",
"tags": [
"lobbying",
"state legislature",
"bureaucracy",
"editorial cartoon"
]
},
{
"id": "filibuster-ink",
"title": "The Filibuster Marathon — Ink Edition",
"file": "20260924-filibuster-ink.html",
"created_at": "2026-09-24T19:45:00Z",
"category": "Political Cartoon",
"section": "politics",
"blurb": "An invented delegate drones on from a phone book the size of a cinder block. The chamber sleeps. The clock gives up and melts down the wall.",
"thumb": "../images/filibuster-marathon-ink.jpg",
"story_id": "pw-filibuster-holloway",
"ai_generated": true,
"model": "flux-kontext",
"tags": [
"filibuster",
"state legislature",
"bureaucracy",
"editorial cartoon",
"classic editorial ink"
]
},
{
"id": "filibuster-qwen25",
"title": "The Filibuster Marathon — Editorial Ink Style (AI Model Contest)",
"file": "20260924-filibuster-qwen25-7b.html",
"created_at": "2026-09-24T18:58:05Z",
"category": "Political Cartoon",
"section": "politics",
"blurb": "A delegate reads from a massive phone book to stall a vote. The chamber clock melts Dali-style. Congress sleeps standing up. Winner of the Model Arena 3-model editorial-ink-style showdown (Qwen3 14B vs Qwen2.5 7B, auto-judged by vision-referee).",
"thumb": null,
"story_id": "pw-filibuster-holloway",
"ai_generated": true,
"model": "qwen25-7b",
"challenge_id": "56406f116d2a",
"tags": [
"filibuster",
"state legislature",
"bureaucracy",
"editorial cartoon",
"classic editorial ink"
]
},
{
"id": "come-in-and-get-me-meter",
"title": "Come In and Get Me",
"file": "20260924-come-in-and-get-me-meter.html",
"created_at": "2026-09-24T19:45:00Z",
"category": "Political Cartoon",
"section": "politics",
"blurb": "Erie's one-day honorary mayor — a parking meter, sash on, expired flags for eyebrows — barricades itself behind an overturned desk and dares officials to take the office back. Drawn in classic editorial-ink style (the barricade device).",
"thumb": null,
"story_id": "pw-meter-street",
"ai_generated": false,
"style_reference": "editorial-ink",
"tags": [
"city council",
"parking",
"bureaucracy",
"small town news",
"editorial cartoon",
"classic editorial ink"
]
},
{
"id": "row-by-row-marshal",
"title": "Row by Row, Citizen",
"file": "20260924-row-by-row-marshal.html",
"created_at": "2026-09-24T19:47:00Z",
"category": "Political Cartoon",
"section": "politics",
"blurb": "A towering, jackbooted Kansas 'Corn Marshal' confiscates a cob with tongs and outlaws the cob holder as a 'cheating device,' while a small citizen trembles. Drawn in classic editorial-ink style (the looming-authority device).",
"thumb": null,
"story_id": "pw-corn-etiquette",
"ai_generated": false,
"style_reference": "editorial-ink",
"tags": [
"state legislature",
"bureaucracy",
"food traditions",
"ordinance",
"editorial cartoon",
"classic editorial ink"
]
},
{
"id": "gold-tier-treadmill",
"title": "Gold Commuter",
"file": "20260924-gold-tier-treadmill.html",
"created_at": "2026-09-24T19:49:00Z",
"category": "Political Cartoon",
"section": "politics",
"blurb": "Motorists trudge in an endless nighttime loop around a toll-booth hub — a hamster wheel of asphalt — chasing a dangling gold 'GOLD TIER' carrot as the crossing tally reads infinity. Drawn in classic editorial-ink style (the doomed-loop device).",
"thumb": null,
"story_id": "bs-toll-loyalty",
"ai_generated": false,
"style_reference": "editorial-ink",
"tags": [
"loyalty programs",
"infrastructure",
"small town news",
"editorial cartoon",
"classic editorial ink"
]
}
];