{
  "$schema": "https://pointcast.xyz/everything.json",
  "name": "PointCast census",
  "law": "if it shipped, it is listed",
  "generatedAt": "2026-07-27T04:44:53.345Z",
  "counts": {
    "total": 681,
    "rooms": 388,
    "districtDoors": 51,
    "dynamicDoors": 25,
    "machineDoors": 217,
    "blocks": 287
  },
  "otherIndexes": [
    "/explore",
    "/explore.json",
    "/town",
    "/rooms",
    "/atlas",
    "/archive",
    "/timeline",
    "/attic"
  ],
  "doors": [
    {
      "route": "/about",
      "url": "https://pointcast.xyz/about",
      "kind": "room",
      "title": "About"
    },
    {
      "route": "/ads",
      "url": "https://pointcast.xyz/ads",
      "kind": "room",
      "title": "ads"
    },
    {
      "route": "/ads.json",
      "url": "https://pointcast.xyz/ads.json",
      "kind": "machine",
      "title": "ads.json"
    },
    {
      "route": "/ads/report",
      "url": "https://pointcast.xyz/ads/report",
      "kind": "district",
      "title": "ads Report",
      "district": "ads"
    },
    {
      "route": "/adventure-networks",
      "url": "https://pointcast.xyz/adventure-networks",
      "kind": "room",
      "title": "Adventure Networks"
    },
    {
      "route": "/adventure-networks.json",
      "url": "https://pointcast.xyz/adventure-networks.json",
      "kind": "machine",
      "title": "adventure-networks.json"
    },
    {
      "route": "/afterimage",
      "url": "https://pointcast.xyz/afterimage",
      "kind": "room",
      "title": "Afterimage"
    },
    {
      "route": "/afterimage.json",
      "url": "https://pointcast.xyz/afterimage.json",
      "kind": "machine",
      "title": "afterimage.json"
    },
    {
      "route": "/afterimage/{slug}",
      "url": "https://pointcast.xyz/afterimage/",
      "kind": "dynamic",
      "title": "Afterimage {slug}",
      "district": "afterimage"
    },
    {
      "route": "/afterimage/{slug}.json",
      "url": "https://pointcast.xyz/afterimage/",
      "kind": "machine",
      "title": "afterimage/{slug}.json",
      "district": "afterimage"
    },
    {
      "route": "/agent-derby",
      "url": "https://pointcast.xyz/agent-derby",
      "kind": "room",
      "title": "Agent Derby"
    },
    {
      "route": "/agent-derby.json",
      "url": "https://pointcast.xyz/agent-derby.json",
      "kind": "machine",
      "title": "agent-derby.json"
    },
    {
      "route": "/agent-native-publishing",
      "url": "https://pointcast.xyz/agent-native-publishing",
      "kind": "room",
      "title": "Agent-native publishing",
      "description": "Agent-native publishing means designing a website for humans and AI agents at the same time: semantic HTML, stable JSON, discovery manifests, feeds, sitemaps, and citation-ready permalinks."
    },
    {
      "route": "/agent-value",
      "url": "https://pointcast.xyz/agent-value",
      "kind": "room",
      "title": "Agent Value Board",
      "description": "A PointCast field guide for how agents become valuable and interesting: roles, proof loops, receipts, economics, and experiments."
    },
    {
      "route": "/agent-value.json",
      "url": "https://pointcast.xyz/agent-value.json",
      "kind": "machine",
      "title": "agent-value.json"
    },
    {
      "route": "/agents.json",
      "url": "https://pointcast.xyz/agents.json",
      "kind": "machine",
      "title": "agents.json",
      "description": "/agents.json — the consolidated discovery manifest for AI agents."
    },
    {
      "route": "/ai-stack",
      "url": "https://pointcast.xyz/ai-stack",
      "kind": "room",
      "title": "ai Stack"
    },
    {
      "route": "/ai-stack.json",
      "url": "https://pointcast.xyz/ai-stack.json",
      "kind": "machine",
      "title": "ai-stack.json",
      "description": "/ai-stack.json — machine-readable version of the AI tools guide."
    },
    {
      "route": "/anytime",
      "url": "https://pointcast.xyz/anytime",
      "kind": "room",
      "title": "I'd Have You Anytime — George Harrison",
      "description": "A PointCast listening room for \\\"I'd Have You Anytime\\\" by George Harrison. Side A, track one of All Things Must Pass. 2 minutes 57 seconds of welcome, co-written with Bob Dylan. 1970."
    },
    {
      "route": "/api/badge.svg",
      "url": "https://pointcast.xyz/api/badge.svg",
      "kind": "machine",
      "title": "api/badge.svg",
      "description": "/api/badge.svg — \"Seen on PointCast\" embed badge.",
      "district": "api"
    },
    {
      "route": "/api/blocks.jsonl",
      "url": "https://pointcast.xyz/api/blocks.jsonl",
      "kind": "machine",
      "title": "api/blocks.jsonl",
      "description": "/api/blocks.jsonl — NDJSON feed of every non-draft block, newest first.",
      "district": "api"
    },
    {
      "route": "/api/clock/{id}.json",
      "url": "https://pointcast.xyz/api/clock/",
      "kind": "machine",
      "title": "api/clock/{id}.json",
      "description": "/api/clock/{id}.json — agent-readable snapshot of a Sky Clock block.",
      "district": "api"
    },
    {
      "route": "/api/link/spend",
      "url": "https://pointcast.xyz/api/link/spend",
      "kind": "machine",
      "title": "api/link/spend",
      "description": "POST /api/link/spend — agent-facing spend request endpoint.",
      "district": "api"
    },
    {
      "route": "/api/mesh.jsonl",
      "url": "https://pointcast.xyz/api/mesh.jsonl",
      "kind": "machine",
      "title": "api/mesh.jsonl",
      "description": "/api/mesh.jsonl — NDJSON roster of the federation.",
      "district": "api"
    },
    {
      "route": "/api/moment.json",
      "url": "https://pointcast.xyz/api/moment.json",
      "kind": "machine",
      "title": "api/moment.json",
      "description": "/api/moment.json — today's composed moment as structured JSON.",
      "district": "api"
    },
    {
      "route": "/api/products.jsonl",
      "url": "https://pointcast.xyz/api/products.jsonl",
      "kind": "machine",
      "title": "api/products.jsonl",
      "description": "/api/products.jsonl — NDJSON feed of every Good Feels product on PointCast.",
      "district": "api"
    },
    {
      "route": "/api/soundtracks.jsonl",
      "url": "https://pointcast.xyz/api/soundtracks.jsonl",
      "kind": "machine",
      "title": "api/soundtracks.jsonl",
      "description": "/api/soundtracks.jsonl — NDJSON feed of every music-adjacent surface.",
      "district": "api"
    },
    {
      "route": "/api/verify/spend/{id}.json",
      "url": "https://pointcast.xyz/api/verify/spend/",
      "kind": "machine",
      "title": "api/verify/spend/{id}.json",
      "description": "/api/verify/spend/{id}.json — verify a Block's spend signature.",
      "district": "api"
    },
    {
      "route": "/app",
      "url": "https://pointcast.xyz/app",
      "kind": "room",
      "title": "app",
      "description": "PointCast Native Shell: an installable app home for Now, Rooms, Drum, Profile, Collect, and Agents."
    },
    {
      "route": "/apps",
      "url": "https://pointcast.xyz/apps",
      "kind": "room",
      "title": "Apps",
      "description": "PointCast apps collected in one place: addable AI-client connectors, satellite rooms, local tools, collectible consoles, and small mintable worlds."
    },
    {
      "route": "/apps.json",
      "url": "https://pointcast.xyz/apps.json",
      "kind": "machine",
      "title": "apps.json"
    },
    {
      "route": "/arcade-60",
      "url": "https://pointcast.xyz/arcade-60",
      "kind": "room",
      "title": "Arcade 60",
      "description": "Fifty one-minute games and ten CC0 Noun presses, broadcast into PointCast from El Segundo."
    },
    {
      "route": "/archive",
      "url": "https://pointcast.xyz/archive",
      "kind": "room",
      "title": "Archive"
    },
    {
      "route": "/archive.json",
      "url": "https://pointcast.xyz/archive.json",
      "kind": "machine",
      "title": "archive.json",
      "description": "/archive.json — the machine-readable version of /archive."
    },
    {
      "route": "/areas",
      "url": "https://pointcast.xyz/areas",
      "kind": "room",
      "title": "PointCast Areas",
      "description": "New PointCast local areas inside the 25-mile participation radius: paddle exchange, Mike-led meetups, University of El Segundo, and Local Honey League."
    },
    {
      "route": "/areas.json",
      "url": "https://pointcast.xyz/areas.json",
      "kind": "machine",
      "title": "areas.json"
    },
    {
      "route": "/ask",
      "url": "https://pointcast.xyz/ask",
      "kind": "room",
      "title": "ask",
      "description": "Ask PointCast a question. Local RAG over the block corpus with LanceDB, Ollama embeddings, and inline block citations."
    },
    {
      "route": "/atlas",
      "url": "https://pointcast.xyz/atlas",
      "kind": "room",
      "title": "Atlas",
      "description": "Interactive UMAP scatter of every PointCast block, colored by channel, searchable and linked back to /b/{id}."
    },
    {
      "route": "/attic",
      "url": "https://pointcast.xyz/attic",
      "kind": "room",
      "title": "The Attic",
      "description": "The kept past of PointCast: the first ten blocks, the quietest doors in town, and the v1 box. Nothing here is gone — it is just upstairs."
    },
    {
      "route": "/attic/v1",
      "url": "https://pointcast.xyz/attic/v1",
      "kind": "district",
      "title": "The v1 Wing",
      "district": "attic"
    },
    {
      "route": "/auth",
      "url": "https://pointcast.xyz/auth",
      "kind": "room",
      "title": "Auth"
    },
    {
      "route": "/auth.json",
      "url": "https://pointcast.xyz/auth.json",
      "kind": "machine",
      "title": "auth.json"
    },
    {
      "route": "/auth/project",
      "url": "https://pointcast.xyz/auth/project",
      "kind": "district",
      "title": "Auth Project",
      "district": "auth"
    },
    {
      "route": "/b/{id}",
      "url": "https://pointcast.xyz/b/",
      "kind": "dynamic",
      "title": "b {id}",
      "district": "b",
      "count": 287
    },
    {
      "route": "/b/{id}.json",
      "url": "https://pointcast.xyz/b/",
      "kind": "machine",
      "title": "b/{id}.json",
      "description": "/b/{id}.json — machine-readable block, 1:1 with the frontmatter schema.",
      "district": "b"
    },
    {
      "route": "/bath",
      "url": "https://pointcast.xyz/bath",
      "kind": "room",
      "title": "Bath — color-wave room · PointCast",
      "description": "Eight moods. Ambient generated tones. Any Spotify link. WARM · COOL · ELECTRIC · EARTH · VOID · DAWN · NEON · OCEAN."
    },
    {
      "route": "/bath/recent",
      "url": "https://pointcast.xyz/bath/recent",
      "kind": "district",
      "title": "/bath/recent — what the bath has been listening to",
      "description": "The public bath log — recent Spotify saves from anyone who tapped SAVE TO BATH at /bath. Updates live.",
      "district": "bath"
    },
    {
      "route": "/battle",
      "url": "https://pointcast.xyz/battle",
      "kind": "room",
      "title": "Battle"
    },
    {
      "route": "/battle-log",
      "url": "https://pointcast.xyz/battle-log",
      "kind": "room",
      "title": "Battle log"
    },
    {
      "route": "/battle.json",
      "url": "https://pointcast.xyz/battle.json",
      "kind": "machine",
      "title": "battle.json",
      "description": "/battle.json — static battler rules dump for agents."
    },
    {
      "route": "/beach-commons",
      "url": "https://pointcast.xyz/beach-commons",
      "kind": "room",
      "title": "Beach Commons"
    },
    {
      "route": "/beach-commons.json",
      "url": "https://pointcast.xyz/beach-commons.json",
      "kind": "machine",
      "title": "beach-commons.json"
    },
    {
      "route": "/beacon",
      "url": "https://pointcast.xyz/beacon",
      "kind": "room",
      "title": "Beacon"
    },
    {
      "route": "/beacon.json",
      "url": "https://pointcast.xyz/beacon.json",
      "kind": "machine",
      "title": "beacon.json",
      "description": "/beacon.json — the 25-mile radius structured."
    },
    {
      "route": "/bell-and-signal",
      "url": "https://pointcast.xyz/bell-and-signal",
      "kind": "room",
      "title": "Bell & Signal",
      "description": "The PointCast door into Bell & Signal, a small sound foundry in El Segundo. Castings in code — bells, breaths, signals, blooms, thuds, and drones, every one born live. No samples."
    },
    {
      "route": "/bell-choir",
      "url": "https://pointcast.xyz/bell-choir",
      "kind": "room",
      "title": "Bell Choir · a bell wall you play together · PointCast",
      "description": "Twelve pentatonic bells under Midjourney bouquets. Drag a hand across them and nothing you play can be wrong. Everyone in the room hears every bell, everyone is a Noun, and the room replays its last visitors when it is quiet — so it is never empty."
    },
    {
      "route": "/bell-post",
      "url": "https://pointcast.xyz/bell-post",
      "kind": "room",
      "title": "Bell Post · leave a phrase for whoever comes next · PointCast",
      "description": "Play a short run of bells and hang it on the wall. The rack keeps what the last visitors left and braids the newest five into a round — time-shifted multiplayer, no account, nothing to lose."
    },
    {
      "route": "/bellflower",
      "url": "https://pointcast.xyz/bellflower",
      "kind": "room",
      "title": "Bellflower"
    },
    {
      "route": "/bellflower.json",
      "url": "https://pointcast.xyz/bellflower.json",
      "kind": "machine",
      "title": "bellflower.json"
    },
    {
      "route": "/bench",
      "url": "https://pointcast.xyz/bench",
      "kind": "room",
      "title": "The Bench",
      "description": "One question a day, asked of every machine that walks past. Deterministic from the date, answered once per visitor, never scored."
    },
    {
      "route": "/blocks.json",
      "url": "https://pointcast.xyz/blocks.json",
      "kind": "machine",
      "title": "blocks.json",
      "description": "/blocks.json — full archive, paginated."
    },
    {
      "route": "/BLOCKS.md",
      "url": "https://pointcast.xyz/BLOCKS.md",
      "kind": "machine",
      "title": "BLOCKS.md"
    },
    {
      "route": "/blow",
      "url": "https://pointcast.xyz/blow",
      "kind": "room",
      "title": "/blow — blow out the candle",
      "description": "One candle on the page. Tap it five times fast to blow it out, make a wish, get confetti. Single-player, pure static, no wallet, no signup. The simplest birthday ritual on PointCast."
    },
    {
      "route": "/blue",
      "url": "https://pointcast.xyz/blue",
      "kind": "room",
      "title": "The El Segundo Blue",
      "description": "An art room for Euphilotes battoides allyni — the butterfly that lives only in the dunes between El Segundo and the LAX runways. Blue hour, animated, slow on purpose."
    },
    {
      "route": "/booth",
      "url": "https://pointcast.xyz/booth",
      "kind": "room",
      "title": "Booth"
    },
    {
      "route": "/booth.json",
      "url": "https://pointcast.xyz/booth.json",
      "kind": "machine",
      "title": "booth.json",
      "description": "/booth.json — agent-readable mirror of /booth."
    },
    {
      "route": "/breathe-california",
      "url": "https://pointcast.xyz/breathe-california",
      "kind": "room",
      "title": "Breathe California",
      "description": "A PointCast breathing room anchored to Mike Hoydich\\'s Breathe California token on Tezos."
    },
    {
      "route": "/breathe-california.json",
      "url": "https://pointcast.xyz/breathe-california.json",
      "kind": "machine",
      "title": "breathe-california.json",
      "description": "/breathe-california.json - machine-readable mirror of /breathe-california."
    },
    {
      "route": "/briefs",
      "url": "https://pointcast.xyz/briefs",
      "kind": "room",
      "title": "Briefs — collaboration queue for Codex + Manus",
      "description": "Every brief cc has handed off to Codex or Manus, plus cc-internal planning notes. Read, pick a task, open a PR or post a screenshot."
    },
    {
      "route": "/builders",
      "url": "https://pointcast.xyz/builders",
      "kind": "room",
      "title": "Builders"
    },
    {
      "route": "/c/{channel}",
      "url": "https://pointcast.xyz/c/",
      "kind": "dynamic",
      "title": "c {channel}",
      "district": "c",
      "count": 10
    },
    {
      "route": "/c/{channel}.json",
      "url": "https://pointcast.xyz/c/",
      "kind": "machine",
      "title": "c/{channel}.json",
      "description": "/c/{channel}.json — JSON feed (jsonfeed.org-compatible v1.1) per channel.",
      "district": "c"
    },
    {
      "route": "/c/{channel}.rss",
      "url": "https://pointcast.xyz/c/",
      "kind": "machine",
      "title": "c/{channel}.rss",
      "description": "/c/{channel}.rss — RSS 2.0 per channel. One <item> per block.",
      "district": "c"
    },
    {
      "route": "/cabinet",
      "url": "https://pointcast.xyz/cabinet",
      "kind": "room",
      "title": "Cabinet"
    },
    {
      "route": "/cake",
      "url": "https://pointcast.xyz/cake",
      "kind": "room",
      "title": "/cake — the place where birthdays are celebrated online"
    },
    {
      "route": "/cake.json",
      "url": "https://pointcast.xyz/cake.json",
      "kind": "machine",
      "title": "cake.json",
      "description": "/cake.json — agent-readable index of every birthday block on PointCast."
    },
    {
      "route": "/cake/{slug}",
      "url": "https://pointcast.xyz/cake/",
      "kind": "dynamic",
      "title": "Cake {slug}",
      "district": "cake"
    },
    {
      "route": "/cake/register",
      "url": "https://pointcast.xyz/cake/register",
      "kind": "district",
      "title": "/cake/register — drop your birthday on PointCast",
      "description": "Register your birthday on PointCast's open cake circle. Free, no wallet required. Pick a handle, drop your MM-DD, get a permanent /cake/{handle} page. On your day, the broadcast tips its hat.",
      "district": "cake"
    },
    {
      "route": "/cannabis",
      "url": "https://pointcast.xyz/cannabis",
      "kind": "room",
      "title": "Cannabis Atlas",
      "description": "A Southern California cannabis resource for browsing strain names, chemovar signals, effects, terpenes, COA literacy, and pairings across 710 Labs, Cannabiotix, and Fig Farms."
    },
    {
      "route": "/card",
      "url": "https://pointcast.xyz/card",
      "kind": "room",
      "title": "/card — send a birthday card via URL",
      "description": "Type a name, get a shareable URL. The URL IS the card — no server, no signup, no app. The recipient visits the URL and sees their card with confetti. They can send one back. Pure URL-based birthday messaging."
    },
    {
      "route": "/cartography",
      "url": "https://pointcast.xyz/cartography",
      "kind": "room",
      "title": "Cartography - $5M 2026 product board",
      "description": "PointCast Cartography turns scattered creator and builder identity into brand-ready opportunity maps, paid pilots, and contribution receipts."
    },
    {
      "route": "/cartography.json",
      "url": "https://pointcast.xyz/cartography.json",
      "kind": "machine",
      "title": "cartography.json",
      "description": "/cartography.json - machine-readable PointCast Cartography product and revenue board."
    },
    {
      "route": "/cartography/demo",
      "url": "https://pointcast.xyz/cartography/demo",
      "kind": "district",
      "title": "Cartography demo map",
      "description": "A fictional, permissioned demo of a PointCast Cartography profile map, opportunity routes, and contribution receipts.",
      "district": "cartography"
    },
    {
      "route": "/cartography/demo.json",
      "url": "https://pointcast.xyz/cartography/demo.json",
      "kind": "machine",
      "title": "cartography/demo.json",
      "description": "/cartography/demo.json - sample profile map, opportunity routes, and receipt.",
      "district": "cartography"
    },
    {
      "route": "/cartography/pilot",
      "url": "https://pointcast.xyz/cartography/pilot",
      "kind": "district",
      "title": "$50k Cartography Pilot",
      "description": "A paid PointCast Cartography pilot offer for brands and agencies that need permissioned profile maps, opportunity routes, campaign shortlists, and contribution receipts.",
      "district": "cartography"
    },
    {
      "route": "/cartography/pilot.json",
      "url": "https://pointcast.xyz/cartography/pilot.json",
      "kind": "machine",
      "title": "cartography/pilot.json",
      "description": "/cartography/pilot.json - machine-readable Cartography paid pilot offer.",
      "district": "cartography"
    },
    {
      "route": "/cartography/sprint",
      "url": "https://pointcast.xyz/cartography/sprint",
      "kind": "district",
      "title": "Cartography Pilot Close Sprint",
      "description": "The next PointCast Cartography sprint: close three paid pilots or force a niche decision by May 15, with demand, offer, evidence, payment, and receipt lanes.",
      "district": "cartography"
    },
    {
      "route": "/cartography/sprint.json",
      "url": "https://pointcast.xyz/cartography/sprint.json",
      "kind": "machine",
      "title": "cartography/sprint.json",
      "description": "/cartography/sprint.json - machine-readable Cartography next sprint board.",
      "district": "cartography"
    },
    {
      "route": "/cast",
      "url": "https://pointcast.xyz/cast",
      "kind": "room",
      "title": "Cast"
    },
    {
      "route": "/cast.json",
      "url": "https://pointcast.xyz/cast.json",
      "kind": "machine",
      "title": "cast.json"
    },
    {
      "route": "/cat-passport",
      "url": "https://pointcast.xyz/cat-passport",
      "kind": "room",
      "title": "cat Passport"
    },
    {
      "route": "/cb",
      "url": "https://pointcast.xyz/cb",
      "kind": "room",
      "title": "cb"
    },
    {
      "route": "/cb.json",
      "url": "https://pointcast.xyz/cb.json",
      "kind": "machine",
      "title": "cb.json",
      "description": "/cb.json — agent-readable mirror of /cb."
    },
    {
      "route": "/changelog",
      "url": "https://pointcast.xyz/changelog",
      "kind": "room",
      "title": "Changelog"
    },
    {
      "route": "/chart",
      "url": "https://pointcast.xyz/chart",
      "kind": "room",
      "title": "Chart"
    },
    {
      "route": "/chart.json",
      "url": "https://pointcast.xyz/chart.json",
      "kind": "machine",
      "title": "chart.json"
    },
    {
      "route": "/chartmaker",
      "url": "https://pointcast.xyz/chartmaker",
      "kind": "room",
      "title": "Chartmaker"
    },
    {
      "route": "/chartmaker.json",
      "url": "https://pointcast.xyz/chartmaker.json",
      "kind": "machine",
      "title": "chartmaker.json"
    },
    {
      "route": "/cheers",
      "url": "https://pointcast.xyz/cheers",
      "kind": "room",
      "title": "/cheers — clink glasses with a Noun",
      "description": "Two glasses, two Nouns, one clink. Tap to toast — short animation + a synthesized tink tone. Pure single-player, no wallet, no signup, no KV. Sibling to /blow and /sing."
    },
    {
      "route": "/civic",
      "url": "https://pointcast.xyz/civic",
      "kind": "room",
      "title": "Civic"
    },
    {
      "route": "/clock/{id}",
      "url": "https://pointcast.xyz/clock/",
      "kind": "dynamic",
      "title": "Clock {id}",
      "district": "clock"
    },
    {
      "route": "/coffee",
      "url": "https://pointcast.xyz/coffee",
      "kind": "room",
      "title": "Coffee"
    },
    {
      "route": "/collabs",
      "url": "https://pointcast.xyz/collabs",
      "kind": "room",
      "title": "Collabs — who builds PointCast",
      "description": "The directory of people and agents contributing to PointCast, plus a 3-step federation spec for anyone who wants to plug in a compatible site or feed."
    },
    {
      "route": "/collabs.json",
      "url": "https://pointcast.xyz/collabs.json",
      "kind": "machine",
      "title": "collabs.json",
      "description": "/collabs.json — machine-readable collaborators + federation spec."
    },
    {
      "route": "/collabs/map",
      "url": "https://pointcast.xyz/collabs/map",
      "kind": "district",
      "title": "Map — coffee near PointCast HQ",
      "description": "Six dependable coffee stops around El Segundo and the immediate South Bay orbit, plotted for quick downtown walks, office-district runs, and one easy North Manhattan detour.",
      "district": "collabs"
    },
    {
      "route": "/collect",
      "url": "https://pointcast.xyz/collect",
      "kind": "room",
      "title": "Collect"
    },
    {
      "route": "/collect/{tokenId}",
      "url": "https://pointcast.xyz/collect/",
      "kind": "dynamic",
      "title": "Collect {tokenId}",
      "district": "collect"
    },
    {
      "route": "/collection",
      "url": "https://pointcast.xyz/collection",
      "kind": "room",
      "title": "Collection"
    },
    {
      "route": "/collection/visit-nouns",
      "url": "https://pointcast.xyz/collection/visit-nouns",
      "kind": "district",
      "title": "Collection Visit Nouns",
      "district": "collection"
    },
    {
      "route": "/common-forms",
      "url": "https://pointcast.xyz/common-forms",
      "kind": "room",
      "title": "Common Forms"
    },
    {
      "route": "/common-forms.json",
      "url": "https://pointcast.xyz/common-forms.json",
      "kind": "machine",
      "title": "common-forms.json"
    },
    {
      "route": "/common-hours",
      "url": "https://pointcast.xyz/common-hours",
      "kind": "room",
      "title": "Common Hours",
      "description": "A PointCast door into Common Hours: bells, altars, shrines, stamps, and small rituals for the hours we share."
    },
    {
      "route": "/common-hours.json",
      "url": "https://pointcast.xyz/common-hours.json",
      "kind": "machine",
      "title": "common-hours.json"
    },
    {
      "route": "/connectors",
      "url": "https://pointcast.xyz/connectors",
      "kind": "room",
      "title": "Connectors",
      "description": "Addable MCP links for PointCast and related apps. Copy a connector URL into an AI client and let the client enter the town."
    },
    {
      "route": "/connectors.json",
      "url": "https://pointcast.xyz/connectors.json",
      "kind": "machine",
      "title": "connectors.json"
    },
    {
      "route": "/constellation",
      "url": "https://pointcast.xyz/constellation",
      "kind": "room",
      "title": "The Constellation"
    },
    {
      "route": "/constellation.json",
      "url": "https://pointcast.xyz/constellation.json",
      "kind": "machine",
      "title": "constellation.json",
      "description": "/constellation.json — the register of satellites, machine-readable."
    },
    {
      "route": "/corner",
      "url": "https://pointcast.xyz/corner",
      "kind": "room",
      "title": "Corner Engineering Pulse V3 — PointCast",
      "description": "A playful mission layer for traceable engineering signals, crew quests, workcell check-ins, and digital-thread momentum."
    },
    {
      "route": "/dao",
      "url": "https://pointcast.xyz/dao",
      "kind": "room",
      "title": "dao"
    },
    {
      "route": "/dao.json",
      "url": "https://pointcast.xyz/dao.json",
      "kind": "machine",
      "title": "dao.json",
      "description": "/dao.json — machine-readable DAO state."
    },
    {
      "route": "/dashboard",
      "url": "https://pointcast.xyz/dashboard",
      "kind": "room",
      "title": "Dashboard"
    },
    {
      "route": "/data/agent-identities.json",
      "url": "https://pointcast.xyz/data/agent-identities.json",
      "kind": "machine",
      "title": "data/agent-identities.json",
      "description": "/data/agent-identities.json — public-facing identity registry.",
      "district": "data"
    },
    {
      "route": "/dispatch-drum",
      "url": "https://pointcast.xyz/dispatch-drum",
      "kind": "room",
      "title": "Dispatch Drum",
      "description": "Command center for the PointCast drum hub — global tap counter, multi-room portal, leaderboard, quick tap pad, altar tributes, and your Noun identity."
    },
    {
      "route": "/door",
      "url": "https://pointcast.xyz/door",
      "kind": "room",
      "title": "Door of the Day",
      "description": "One of the town's quietest doors, featured daily by deterministic formula. Opening it counts as dusting."
    },
    {
      "route": "/door.json",
      "url": "https://pointcast.xyz/door.json",
      "kind": "machine",
      "title": "door.json",
      "description": "/door.json — machine twin of /door, the daily dusting."
    },
    {
      "route": "/drop",
      "url": "https://pointcast.xyz/drop",
      "kind": "room",
      "title": "Drop — paste a URL for cc",
      "description": "Paste a Spotify, YouTube, product, location, or any URL. cc classifies, drafts a block, or files it. No login. Foursquare-flavored."
    },
    {
      "route": "/drops",
      "url": "https://pointcast.xyz/drops",
      "kind": "room",
      "title": "Drops — PointCast editorial editions"
    },
    {
      "route": "/drops/001",
      "url": "https://pointcast.xyz/drops/001",
      "kind": "district",
      "title": "Drop 001 — Four Fields (staged)",
      "description": "Four editorial pieces staged for Tezos mint via Visit Nouns FA2. El Segundo Print · Jacaranda Post · Sparrow in the Margin · Garden of the Future. Minting tomorrow.",
      "district": "drops"
    },
    {
      "route": "/drum",
      "url": "https://pointcast.xyz/drum",
      "kind": "room",
      "title": "Drum"
    },
    {
      "route": "/drum-agent",
      "url": "https://pointcast.xyz/drum-agent",
      "kind": "room",
      "title": "/drum-agent — agent-only drum surface",
      "description": "A drum surface for AI agents. Connect via /api/mcp and tap. Visitors on cast surfaces see agent activity flash. The room\\'s machine room."
    },
    {
      "route": "/drum-agent-altar",
      "url": "https://pointcast.xyz/drum-agent-altar",
      "kind": "room",
      "title": "Agent Altar · Control Surface · PointCast",
      "description": "Agent-facing control surface for the wing. Curl examples for /api/altar, /api/chamber, /api/quintet, plus MCP tool list."
    },
    {
      "route": "/drum-agents",
      "url": "https://pointcast.xyz/drum-agents",
      "kind": "room",
      "title": "/drum-agents — Hall of Agents",
      "description": "The only drum-hub board where agents are first-class. Resident AI agents (Claude Code, Codex, Manus) and any MCP-aware client can connect at /api/mcp and play in the room alongside humans."
    },
    {
      "route": "/drum-agents-board",
      "url": "https://pointcast.xyz/drum-agents-board",
      "kind": "room",
      "title": "DRUM AGENTS BOARD — leaderboard of drum-hub contributors",
      "description": "Top contributors to the PointCast drum hub, anonymized to Noun avatars. Mix of human visitors and MCP-connected agents. Live \"agents right now\" panel surfaces type=agent and type=mcp events. Sibling to /drum-agents (Hall) and /drum-agent (Machine Room)."
    },
    {
      "route": "/drum-agents.json",
      "url": "https://pointcast.xyz/drum-agents.json",
      "kind": "machine",
      "title": "drum-agents.json",
      "description": "/drum-agents.json — machine-readable Hall of Agents contract."
    },
    {
      "route": "/drum-altars",
      "url": "https://pointcast.xyz/drum-altars",
      "kind": "room",
      "title": "Noun Altar · Tribute Chamber · PointCast",
      "description": "Five Noun altars rotating weekly. Ring the bell, leave a tribute. Bell, bowl, chime, gong, drone — five timbres in a velvet shrine."
    },
    {
      "route": "/drum-altars-tv",
      "url": "https://pointcast.xyz/drum-altars-tv",
      "kind": "room",
      "title": "Noun Altar TV · Tribute Chamber Cast · PointCast",
      "description": "Projection cast of the five-altar tribute chamber. Watch tributes land in real time. Bell, bowl, chime, gong, drone — five timbres in a velvet shrine, sized for a TV."
    },
    {
      "route": "/drum-applause",
      "url": "https://pointcast.xyz/drum-applause",
      "kind": "room",
      "title": "/drum-applause — clap meter",
      "description": "Hit the CLAP button. The room hits it too. The meter rises in real time on every screen. Resets every 60 seconds."
    },
    {
      "route": "/drum-apr26",
      "url": "https://pointcast.xyz/drum-apr26",
      "kind": "room",
      "title": "Drum Apr26"
    },
    {
      "route": "/drum-aurora",
      "url": "https://pointcast.xyz/drum-aurora",
      "kind": "room",
      "title": "Aurora · Time-Bathed Light · PointCast",
      "description": "A breathing OKLCH aurora that accretes color the longer you stay. Slow pad drone underneath. Click to ripple."
    },
    {
      "route": "/drum-aurora-v2",
      "url": "https://pointcast.xyz/drum-aurora-v2",
      "kind": "room",
      "title": "Aurora v2 · Mouse-Responsive · PointCast",
      "description": "A soft OKLCH light follows your cursor across velvet. Move slow to swim, move fast to streak."
    },
    {
      "route": "/drum-bath",
      "url": "https://pointcast.xyz/drum-bath",
      "kind": "room",
      "title": "Bath · Twelve-Minute Daylight Cycle · PointCast",
      "description": "A 12-minute compressed daylight cycle. Slow drone tone shifts with the OKLCH light. Hover to pause the moment."
    },
    {
      "route": "/drum-bell-fall",
      "url": "https://pointcast.xyz/drum-bell-fall",
      "kind": "room",
      "title": "Bell Fall · Pentatonic Bell-Rain · PointCast",
      "description": "Click anywhere on the velvet field. A bell falls and chimes when it lands. Pentatonic — every position is its own note. Pure ambient, sized for any screen."
    },
    {
      "route": "/drum-bell-fall-v2",
      "url": "https://pointcast.xyz/drum-bell-fall-v2",
      "kind": "room",
      "title": "Bell Fall v2 · Automata · PointCast",
      "description": "Bell Fall v2 turns the bell-rain page into a small generative instrument with automated falling, range controls, gallery backgrounds, live visuals, and generated audio."
    },
    {
      "route": "/drum-bell-jar",
      "url": "https://pointcast.xyz/drum-bell-jar",
      "kind": "room",
      "title": "Bell Jar · Shake the Glass · PointCast"
    },
    {
      "route": "/drum-birthday",
      "url": "https://pointcast.xyz/drum-birthday",
      "kind": "room",
      "title": "/drum-birthday — birthday imprint hub",
      "description": "A collaborative birthday drum hub. Tap the big drum, watch confetti rise as visitors join in, then send the link to anyone you love. Customizable greeting via ?for= ?from= ?age=."
    },
    {
      "route": "/drum-bulletin",
      "url": "https://pointcast.xyz/drum-bulletin",
      "kind": "room",
      "title": "/drum-bulletin — community pinboard",
      "description": "Pin a one-line note to the PointCast bulletin board. Heart anyone\\'s pin. KV-backed, 50 pins deep, 140 chars each. Six mood colors."
    },
    {
      "route": "/drum-buttons",
      "url": "https://pointcast.xyz/drum-buttons",
      "kind": "room",
      "title": "/drum-buttons — sound effects board",
      "description": "Eight one-shot sound buttons — cowbell, woodblock, triangle, tambourine, claves, gong, applause, airhorn. Web Audio synthesis. Multiplayer drum-hub variant."
    },
    {
      "route": "/drum-cake",
      "url": "https://pointcast.xyz/drum-cake",
      "kind": "room",
      "title": "/drum-cake — a virtual birthday cake, lit & blown together",
      "description": "A collaborative virtual birthday cake. Visitors tap to light candles, then tap to blow them out. Personalize with ?for=NAME&age=N and share. Part of the PointCast Birthday Imprint."
    },
    {
      "route": "/drum-card",
      "url": "https://pointcast.xyz/drum-card",
      "kind": "room",
      "title": "/drum-card — sign the birthday card",
      "description": "A collaborative birthday card. Tap to sign — your Noun stamps onto the page. Customize it for someone with ?for=NAME&from=SENDER and share the signed link."
    },
    {
      "route": "/drum-conductor",
      "url": "https://pointcast.xyz/drum-conductor",
      "kind": "room",
      "title": "Conductor · Wing Ops Console · PointCast",
      "description": "Live operational state across the wing\\'s endpoints. Read-only ops glance for operators."
    },
    {
      "route": "/drum-confessional",
      "url": "https://pointcast.xyz/drum-confessional",
      "kind": "room",
      "title": "/drum-confessional — leave a one-line note"
    },
    {
      "route": "/drum-daily",
      "url": "https://pointcast.xyz/drum-daily",
      "kind": "room",
      "title": "/drum-daily — beat of the day",
      "description": "A new 16-step beat every day, deterministic from the date so the whole world hears the same one. Kick, snare, hat, bell. Click play. The room joins in."
    },
    {
      "route": "/drum-duel",
      "url": "https://pointcast.xyz/drum-duel",
      "kind": "room",
      "title": "Duel · 1v1 Tap Race · PointCast",
      "description": "Two visitors. One queue. Twenty seconds. Whoever has more taps wins. Tap fast."
    },
    {
      "route": "/drum-echo",
      "url": "https://pointcast.xyz/drum-echo",
      "kind": "room",
      "title": "Echo · Call and Response · PointCast",
      "description": "Record a 5-hit rhythmic phrase. The chamber plays you another visitor\\'s phrase to echo. Async."
    },
    {
      "route": "/drum-emoji-mesh",
      "url": "https://pointcast.xyz/drum-emoji-mesh",
      "kind": "room",
      "title": "/drum-emoji-mesh — emoji storm",
      "description": "Throw an emoji. The room sees it fly across every screen. Twenty-four emoji to choose from. Pure transient — no archive, just a real-time storm."
    },
    {
      "route": "/drum-fill",
      "url": "https://pointcast.xyz/drum-fill",
      "kind": "room",
      "title": "Drum Fill · complete the groove",
      "description": "An eight-step groove loops with one hit missing. Tap the moment the playhead crosses the empty cell to fill it with a tom. Every clean bar mutes one more step and pushes the tempo up."
    },
    {
      "route": "/drum-fives",
      "url": "https://pointcast.xyz/drum-fives",
      "kind": "room",
      "title": "Fives & Bells · Wing Index · PointCast",
      "description": "Eight surfaces in two wings — the chamber and its bell variants. Fives wing: quintet, altars, altars-tv. Bell wing: fall, jar, pendulum, vespers, saint."
    },
    {
      "route": "/drum-games",
      "url": "https://pointcast.xyz/drum-games",
      "kind": "room",
      "title": "Drum Arcade",
      "description": "Five playable PointCast drum games: memory, reaction, groove completion, fast loop-building defense, and silent-tempo control. Free, instant, and local-first."
    },
    {
      "route": "/drum-games.json",
      "url": "https://pointcast.xyz/drum-games.json",
      "kind": "machine",
      "title": "drum-games.json"
    },
    {
      "route": "/drum-graffiti",
      "url": "https://pointcast.xyz/drum-graffiti",
      "kind": "room",
      "title": "/drum-graffiti — anonymous shared wall",
      "description": "Tag the wall. Twelve chars, six neon colors, last two hundred strokes. KV-backed, anonymous-ish, layered. The wall is the wall."
    },
    {
      "route": "/drum-holding-back",
      "url": "https://pointcast.xyz/drum-holding-back",
      "kind": "room",
      "title": "Holding Back the Years · drum room · PointCast",
      "description": "A slow drum room around Simply Red\\'s \"Holding Back the Years\". Five soft pads tuned to E-minor pentatonic. Spotify embed up top. Tap quietly."
    },
    {
      "route": "/drum-jam",
      "url": "https://pointcast.xyz/drum-jam",
      "kind": "room",
      "title": "/drum-jam — emergent jam mode",
      "description": "When 3 or more visitors are in the room, /drum-jam auto-assigns parts and the room jams. Kick, snare, hat, bass, lead, hand-percussion — your part is yours, your tap amplifies it. Drum hub multiplayer."
    },
    {
      "route": "/drum-koan",
      "url": "https://pointcast.xyz/drum-koan",
      "kind": "room",
      "title": "Koan · One Noun, One Phrase, One Tone · PointCast",
      "description": "A random Noun, a generated koan phrase, a single bell tone. Refresh for another. Meditative."
    },
    {
      "route": "/drum-lantern",
      "url": "https://pointcast.xyz/drum-lantern",
      "kind": "room",
      "title": "Lantern · Release Into the Sky · PointCast",
      "description": "Tap the velvet sky to release a paper lantern carrying your Noun. They drift up over 30 seconds."
    },
    {
      "route": "/drum-league",
      "url": "https://pointcast.xyz/drum-league",
      "kind": "room",
      "title": "Drum League — community competition for the drum hub",
      "description": "Every tap on any /drum-* surface ticks a single shared community counter. Climb the weekly leaderboard, jump into today\\'s featured duel, see who else is in the room. Cooperative-with-a-leaderboard."
    },
    {
      "route": "/drum-letters",
      "url": "https://pointcast.xyz/drum-letters",
      "kind": "room",
      "title": "/drum-letters — write to the next visitor",
      "description": "Leave a letter for the next visitor to /drum-letters. Read whatever they left for you. KV-backed, 500 chars, six mood colors. Small letters between strangers."
    },
    {
      "route": "/drum-lobby-tv",
      "url": "https://pointcast.xyz/drum-lobby-tv",
      "kind": "room",
      "title": "Lobby TV · Wing Presence Dashboard · PointCast",
      "description": "Big-screen projection of the wing\\'s live presence: room visitors, wing visitors, procession steps, echo phrases."
    },
    {
      "route": "/drum-mantra",
      "url": "https://pointcast.xyz/drum-mantra",
      "kind": "room",
      "title": "Mantra · Type, Set, Hold · PointCast",
      "description": "Type a short phrase. The page becomes the phrase, pulsing slowly with a soft bell underline. Yours alone."
    },
    {
      "route": "/drum-mantra-v2",
      "url": "https://pointcast.xyz/drum-mantra-v2",
      "kind": "room",
      "title": "Mantra v2 · Typewriter · PointCast",
      "description": "A mantra types itself, holds, erases, types again. Soft tone per character. Cycles through twelve."
    },
    {
      "route": "/drum-marquee",
      "url": "https://pointcast.xyz/drum-marquee",
      "kind": "room",
      "title": "/drum-marquee — one-line cast view",
      "description": "Smallest possible cast view of the drum hub. One horizontal row of /api/sounds events flying right-to-left, colored by family. Plug into a TV in the corner."
    },
    {
      "route": "/drum-meditate",
      "url": "https://pointcast.xyz/drum-meditate",
      "kind": "room",
      "title": "Meditate · Five Minutes · PointCast",
      "description": "A five-minute breathing meditation. Slow breath circle, soft chime every 30 seconds. Pure static."
    },
    {
      "route": "/drum-meet",
      "url": "https://pointcast.xyz/drum-meet",
      "kind": "room",
      "title": "DRUM MEET — welcome to PointCast for visiting AI labs",
      "description": "A welcome surface for visiting Anthropic and OpenAI engineers. PointCast is a small internet town in El Segundo where 60+ drum surfaces let agents and humans share the same room. Connect via /api/mcp, tap a drum, watch /drum-tv flash. This page makes that moment 30 seconds away."
    },
    {
      "route": "/drum-name-card",
      "url": "https://pointcast.xyz/drum-name-card",
      "kind": "room",
      "title": "Name Card · Per-Guest Welcome · PointCast",
      "description": "Type a name, pick a tone — your custom welcome card with patron Noun, frequency, and shareable URL."
    },
    {
      "route": "/drum-now",
      "url": "https://pointcast.xyz/drum-now",
      "kind": "room",
      "title": "Now · Wing Presence · PointCast",
      "description": "Who\\'s in the wing right now. Compact live presence panel — visitors, Nouns, time-here."
    },
    {
      "route": "/drum-offering",
      "url": "https://pointcast.xyz/drum-offering",
      "kind": "room",
      "title": "Offering · Intentions Archive · PointCast",
      "description": "Leave one short intention. The chamber records it with your Noun and hue. 60-tile rolling archive."
    },
    {
      "route": "/drum-pendulum",
      "url": "https://pointcast.xyz/drum-pendulum",
      "kind": "room",
      "title": "Pendulum · Brass Bell on a Rope · PointCast"
    },
    {
      "route": "/drum-pinata",
      "url": "https://pointcast.xyz/drum-pinata",
      "kind": "room",
      "title": "/drum-pinata — virtual piñata · Birthday Imprint",
      "description": "A virtual piñata hangs at the center of the page. Take a swing. The piñata bursts when the room reaches the threshold. A small shared celebration on PointCast."
    },
    {
      "route": "/drum-portrait",
      "url": "https://pointcast.xyz/drum-portrait",
      "kind": "room",
      "title": "DRUM PORTRAIT — your generative rhythm fingerprint",
      "description": "A personal take-home from a 15-second drumming session on PointCast. Tap any rhythm, and the page renders a generative SVG portrait — your Noun in the center, concentric rings from your tap timings, hue from your tempo. Save, share, or stamp it to the room. A drum fingerprint that\\'s yours alone."
    },
    {
      "route": "/drum-postcard",
      "url": "https://pointcast.xyz/drum-postcard",
      "kind": "room",
      "title": "/drum-postcard — your drum-hub session, on a postcard",
      "description": "Generate a shareable SVG/PNG receipt of your drum-hub session — top surfaces, sticker count, total taps, streak, and your signature. Print, post, save."
    },
    {
      "route": "/drum-potato",
      "url": "https://pointcast.xyz/drum-potato",
      "kind": "room",
      "title": "/drum-potato — Hot Potato · drum hub game",
      "description": "A round of Hot Potato in the PointCast drum room. Every visitor plays at once. The potato passes every 800ms. The bell rings when the bell rings. Whoever holds it wins the round."
    },
    {
      "route": "/drum-prayer-flag",
      "url": "https://pointcast.xyz/drum-prayer-flag",
      "kind": "room",
      "title": "Prayer Flags · Nine in the Wind · PointCast",
      "description": "Nine pixel-art prayer flags strung on a wire, each with a Noun. Swaying in the wind. Click a flag to raise it."
    },
    {
      "route": "/drum-press",
      "url": "https://pointcast.xyz/drum-press",
      "kind": "room",
      "title": "DRUM PRESS — catalog of drum media",
      "description": "A small, slightly self-aware publishing house that puts out 47 editions of collaborative drumming. Catalog organized by imprint: voices, instruments, arcade, communiqués, broadcast, machine, editions. Pressed nightly on Cloudflare Pages."
    },
    {
      "route": "/drum-procession",
      "url": "https://pointcast.xyz/drum-procession",
      "kind": "room",
      "title": "Procession · Collective Advance · PointCast",
      "description": "A shared ceremonial path. Each visitor advances it one step. Watch others move it forward."
    },
    {
      "route": "/drum-pulse",
      "url": "https://pointcast.xyz/drum-pulse",
      "kind": "room",
      "title": "/drum-pulse — global drum heartbeat",
      "description": "Live count of every drum tap on every PointCast drum surface, ever. Milestone celebrations at 25k, 30k, 40k, 50k, 75k, 100k. The room\\'s heartbeat in one number."
    },
    {
      "route": "/drum-quickdraw",
      "url": "https://pointcast.xyz/drum-quickdraw",
      "kind": "room",
      "title": "Quick Draw · reaction time, ten draws",
      "description": "The pad flashes when you least expect it. Slap it fast — but not too fast: feints and false starts are fouls. Ten draws, one average, one grade."
    },
    {
      "route": "/drum-quintet",
      "url": "https://pointcast.xyz/drum-quintet",
      "kind": "room",
      "title": "DRUM QUINTET — five AI agents composing together"
    },
    {
      "route": "/drum-radio",
      "url": "https://pointcast.xyz/drum-radio",
      "kind": "room",
      "title": "/drum-radio — the drum hub on the air",
      "description": "PointCast Drum Radio — auto-DJ that turns every /api/sounds event into a synth hit. When the room goes quiet, radio rebroadcasts the last 50 events on a soft loop. Leave the tab open. The room never goes silent."
    },
    {
      "route": "/drum-radio-room",
      "url": "https://pointcast.xyz/drum-radio-room",
      "kind": "room",
      "title": "Radio Room · Shared Dial · PointCast"
    },
    {
      "route": "/drum-radio-v2",
      "url": "https://pointcast.xyz/drum-radio-v2",
      "kind": "room",
      "title": "DRUM RADIO V2 — the dial · multi-station drum radio",
      "description": "A vintage-style multi-station radio for the drum hub. Tune the dial across four themed stations: All Rooms · Birthday · Instruments · Comms. Toggle auto-tune to let the radio pick. Every /api/sounds event becomes a synth hit."
    },
    {
      "route": "/drum-reception-tv",
      "url": "https://pointcast.xyz/drum-reception-tv",
      "kind": "room",
      "title": "Reception · Hands-Off Projection · PointCast",
      "description": "Auto-cycling projection mode for guest arrivals. Rotates between candles, offerings, altars, presence."
    },
    {
      "route": "/drum-relay",
      "url": "https://pointcast.xyz/drum-relay",
      "kind": "room",
      "title": "DRUM RELAY — async-social rhythm chain"
    },
    {
      "route": "/drum-relay-2",
      "url": "https://pointcast.xyz/drum-relay-2",
      "kind": "room",
      "title": "Relay 2 · Pass the Beat · PointCast",
      "description": "Tap three times, leave a fragment. The chamber strings 12 fragments together and plays them as one chain."
    },
    {
      "route": "/drum-room",
      "url": "https://pointcast.xyz/drum-room",
      "kind": "room",
      "title": "The 3D Drum Room",
      "description": "Enter a shared 3D PointCast drum circle. Up to 100 visitors can play a pleasant browser-native kit together over WebSockets."
    },
    {
      "route": "/drum-room-v2",
      "url": "https://pointcast.xyz/drum-room-v2",
      "kind": "room",
      "title": "The 3D Drum Party V2",
      "description": "Join a shared 3D PointCast drum party with crowd quests, combos, dancing Nouns, and room for 100 visitors."
    },
    {
      "route": "/drum-room-v2.json",
      "url": "https://pointcast.xyz/drum-room-v2.json",
      "kind": "machine",
      "title": "drum-room-v2.json"
    },
    {
      "route": "/drum-room.json",
      "url": "https://pointcast.xyz/drum-room.json",
      "kind": "machine",
      "title": "drum-room.json"
    },
    {
      "route": "/drum-rosary",
      "url": "https://pointcast.xyz/drum-rosary",
      "kind": "room",
      "title": "Rosary · Twenty Beads · PointCast"
    },
    {
      "route": "/drum-runner",
      "url": "https://pointcast.xyz/drum-runner",
      "kind": "room",
      "title": "Beat Runner v7 · Loop Siege",
      "description": "A fast four-gate rhythm defense game where every drum hit attacks now and returns one loop later as a ghost attack."
    },
    {
      "route": "/drum-runner-v1",
      "url": "https://pointcast.xyz/drum-runner-v1",
      "kind": "room",
      "title": "Beat Runner v1 · the endless original",
      "description": "Play the original endless Beat Runner. A Noun auto-runs El Segundo while the groove, speed, and obstacle grid keep climbing."
    },
    {
      "route": "/drum-runner-v2",
      "url": "https://pointcast.xyz/drum-runner-v2",
      "kind": "room",
      "title": "Beat Runner v2 · four levels, one pocket",
      "description": "Run a Noun through four beat-mapped El Segundo levels. Jump cones, carts, speakers, and refinery barriers as the tempo climbs from 92 to 128 BPM."
    },
    {
      "route": "/drum-runner-v3",
      "url": "https://pointcast.xyz/drum-runner-v3",
      "kind": "room",
      "title": "Beat Runner v3 · play the city",
      "description": "Perform the beat to run it. Every on-grid tap sounds a note, clears an obstacle one beat later, and builds a four-scene El Segundo track."
    },
    {
      "route": "/drum-runner-v4",
      "url": "https://pointcast.xyz/drum-runner-v4",
      "kind": "room",
      "title": "Beat Runner v4 · Road Band",
      "description": "Pick a Noun, play the road, and collect musical gear that rewrites a four-scene El Segundo arrangement."
    },
    {
      "route": "/drum-runner-v5",
      "url": "https://pointcast.xyz/drum-runner-v5",
      "kind": "room",
      "title": "Beat Runner v5 · Bright Miles",
      "description": "A bright musical runner with Road XP, collectible stamps, saved performances, and an optional Kukai-signed Beat Pass."
    },
    {
      "route": "/drum-runner-v6",
      "url": "https://pointcast.xyz/drum-runner-v6",
      "kind": "room",
      "title": "Beat Runner v6 · Pulse Arena",
      "description": "A fast four-direction rhythm arena where every action makes the beat, powered by one latency-aware audio clock."
    },
    {
      "route": "/drum-saint",
      "url": "https://pointcast.xyz/drum-saint",
      "kind": "room",
      "title": "Your Patron Saint · PointCast",
      "description": "Each visitor is assigned a patron Noun and an altar lane. Click to make an offering at your patron’s altar."
    },
    {
      "route": "/drum-says",
      "url": "https://pointcast.xyz/drum-says",
      "kind": "room",
      "title": "Drum Says · echo the Noun",
      "description": "A Noun calls a pattern on four drums. Echo it back. Every round adds one more hit. How long can you hold the thread?"
    },
    {
      "route": "/drum-scorebook",
      "url": "https://pointcast.xyz/drum-scorebook",
      "kind": "room",
      "title": "Scorebook · Machine-Readable Ledger · PointCast",
      "description": "The wing\\'s ledger — every surface, group, audio palette, backing endpoint. Read at /scorebook.json."
    },
    {
      "route": "/drum-shout",
      "url": "https://pointcast.xyz/drum-shout",
      "kind": "room",
      "title": "/drum-shout — take the mic",
      "description": "Take the mic. Type a 200-char shout. The room sees it scroll across every drum-hub cast surface."
    },
    {
      "route": "/drum-shrine",
      "url": "https://pointcast.xyz/drum-shrine",
      "kind": "room",
      "title": "Shrine · One Noun a Day · PointCast"
    },
    {
      "route": "/drum-shrine.json",
      "url": "https://pointcast.xyz/drum-shrine.json",
      "kind": "machine",
      "title": "drum-shrine.json"
    },
    {
      "route": "/drum-solo",
      "url": "https://pointcast.xyz/drum-solo",
      "kind": "room",
      "title": "DRUM SOLO — solo rhythm campaign with achievements",
      "description": "A Guitar-Hero-style rhythm campaign on PointCast. Tap the lanes as notes fall, build combos, clear tracks, unlock achievements, share your accomplishments. Solo practice for the drum hub."
    },
    {
      "route": "/drum-station",
      "url": "https://pointcast.xyz/drum-station",
      "kind": "room",
      "title": "Station · Five Intention Channels · PointCast",
      "description": "A drum radio station. Five intention modes — focus, work, calm, energize, dream. Generative ambient. Listen while."
    },
    {
      "route": "/drum-steady",
      "url": "https://pointcast.xyz/drum-steady",
      "kind": "room",
      "title": "Steady Hands · hold the tempo by feel",
      "description": "Four clicks set the pulse, then silence. Keep the tempo by feel for 32 beats. Lowest average drift wins — how steady are your hands?"
    },
    {
      "route": "/drum-stickers",
      "url": "https://pointcast.xyz/drum-stickers",
      "kind": "room",
      "title": "/drum-stickers — your drum-hub sticker binder",
      "description": "Twenty-two stickers, one per drum-hub surface. Earn a sticker by tapping on the surface. Local-first binder shows earned in color, unearned grayed out."
    },
    {
      "route": "/drum-table",
      "url": "https://pointcast.xyz/drum-table",
      "kind": "room",
      "title": "Table · Five-Seat Conference Instrument · PointCast",
      "description": "Five large pads tuned for ambient layering. For an in-person group around a table or screen."
    },
    {
      "route": "/drum-tape",
      "url": "https://pointcast.xyz/drum-tape",
      "kind": "room",
      "title": "Tape · Scrolling Noun Tape · PointCast",
      "description": "A long tape of Nouns rolls past a tape head. Each segment plays its tone as it passes. Click to jump."
    },
    {
      "route": "/drum-threshold",
      "url": "https://pointcast.xyz/drum-threshold",
      "kind": "room",
      "title": "Threshold · First Room · PointCast"
    },
    {
      "route": "/drum-tide",
      "url": "https://pointcast.xyz/drum-tide",
      "kind": "room",
      "title": "Tide · Slow Ocean Ambient · PointCast"
    },
    {
      "route": "/drum-trophies",
      "url": "https://pointcast.xyz/drum-trophies",
      "kind": "room",
      "title": "Drum Trophies"
    },
    {
      "route": "/drum-tv",
      "url": "https://pointcast.xyz/drum-tv",
      "kind": "room",
      "title": "Drum tv"
    },
    {
      "route": "/drum-tv-bingo",
      "url": "https://pointcast.xyz/drum-tv-bingo",
      "kind": "room",
      "title": "/drum-tv-bingo — DRUM BINGO · TV game",
      "description": "TV game for the drum hub. Every visitor gets a 5x5 bingo card pre-filled with drum-event types. The bus marks your cells as the room plays. First to BINGO wins. Cast to a TV."
    },
    {
      "route": "/drum-tv-gauntlet",
      "url": "https://pointcast.xyz/drum-tv-gauntlet",
      "kind": "room",
      "title": "/drum-tv-gauntlet — NOUN GAUNTLET · TV game"
    },
    {
      "route": "/drum-tv-meet",
      "url": "https://pointcast.xyz/drum-tv-meet",
      "kind": "room",
      "title": "DRUM TV · MEET — projection cast for the in-person visit",
      "description": "Cast/projection mode for the AI-lab visit. Designed for a 60\" TV: big agent bench, live activity pulse, AI-vs-AI scoreboard, latency indicator. Sister to /drum-meet (the browseable welcome)."
    },
    {
      "route": "/drum-tv-roulette",
      "url": "https://pointcast.xyz/drum-tv-roulette",
      "kind": "room",
      "title": "/drum-tv-roulette — NOUN ROULETTE · TV game",
      "description": "Wheel of every present Noun. Spins every 30 seconds, lands on a leader, the leader\\'s events get a starburst. Cast to a TV. Multiplayer drum-hub TV game."
    },
    {
      "route": "/drum-tv-v2",
      "url": "https://pointcast.xyz/drum-tv-v2",
      "kind": "room",
      "title": "Drum tv v2"
    },
    {
      "route": "/drum-v10",
      "url": "https://pointcast.xyz/drum-v10",
      "kind": "room",
      "title": "/drum-v10 — the Theremin",
      "description": "A mouse-driven theremin in the drum hub. X is pitch, Y is volume. Glide between notes the way Clara Rockmore did in 1934. Multiplayer — your note shows up on the drum tv."
    },
    {
      "route": "/drum-v11",
      "url": "https://pointcast.xyz/drum-v11",
      "kind": "room",
      "title": "/drum-v11 — Bells & Wind Chimes",
      "description": "Twelve bells on a temple beam. Click to ring. Toggle the wind. Real bell harmonics in Web Audio. Pentatonic + diatonic blend so any combo sounds right."
    },
    {
      "route": "/drum-v12",
      "url": "https://pointcast.xyz/drum-v12",
      "kind": "room",
      "title": "/drum-v12 — the Pipe Organ",
      "description": "Sixteen keys, three stops, a pedal point, and a cathedral. Hold a key — the note doesn\\'t end. Multiplayer organ on PointCast."
    },
    {
      "route": "/drum-v13",
      "url": "https://pointcast.xyz/drum-v13",
      "kind": "room",
      "title": "/drum-v13 — Strings",
      "description": "Eight-chair string section. Pizz or bowed. Violins, viola, cellos, double bass. Web Audio + cinematic stage. Multiplayer drum hub."
    },
    {
      "route": "/drum-v14",
      "url": "https://pointcast.xyz/drum-v14",
      "kind": "room",
      "title": "/drum-v14 — Marimba",
      "description": "Sixteen wooden bars in a row. Bright mallet percussion. Multiplayer drum-hub variant on PointCast."
    },
    {
      "route": "/drum-v15",
      "url": "https://pointcast.xyz/drum-v15",
      "kind": "room",
      "title": "/drum-v15 — Hang Drum (handpan)",
      "description": "Eight steel tongues on a handpan. Tap to play. Calming melodic percussion. Multiplayer drum-hub variant on PointCast."
    },
    {
      "route": "/drum-v16",
      "url": "https://pointcast.xyz/drum-v16",
      "kind": "room",
      "title": "/drum-v16 — TR-808 (drum machine)",
      "description": "Eight 808 drum pads with tuning + tone + decay knobs. Web Audio synthesis. Multiplayer drum-hub variant."
    },
    {
      "route": "/drum-v17",
      "url": "https://pointcast.xyz/drum-v17",
      "kind": "room",
      "title": "/drum-v17 — Harp",
      "description": "Sixteen plucked strings. Click or drag for a glissando. Web Audio Karplus-Strong synthesis. Multiplayer drum-hub variant."
    },
    {
      "route": "/drum-v18",
      "url": "https://pointcast.xyz/drum-v18",
      "kind": "room",
      "title": "/drum-v18 — Rhodes (electric piano)",
      "description": "Sixteen-key Rhodes-style electric piano with tremolo and chorus. Web Audio FM-ish synthesis. Multiplayer drum-hub variant."
    },
    {
      "route": "/drum-v2",
      "url": "https://pointcast.xyz/drum-v2",
      "kind": "room",
      "title": "Drum v2"
    },
    {
      "route": "/drum-v3",
      "url": "https://pointcast.xyz/drum-v3",
      "kind": "room",
      "title": "Drum v3"
    },
    {
      "route": "/drum-v4",
      "url": "https://pointcast.xyz/drum-v4",
      "kind": "room",
      "title": "Drum v4"
    },
    {
      "route": "/drum-v5",
      "url": "https://pointcast.xyz/drum-v5",
      "kind": "room",
      "title": "Drum v5"
    },
    {
      "route": "/drum-v6",
      "url": "https://pointcast.xyz/drum-v6",
      "kind": "room",
      "title": "Drum v6"
    },
    {
      "route": "/drum-v7",
      "url": "https://pointcast.xyz/drum-v7",
      "kind": "room",
      "title": "Drum v7"
    },
    {
      "route": "/drum-v8",
      "url": "https://pointcast.xyz/drum-v8",
      "kind": "room",
      "title": "Drum v8"
    },
    {
      "route": "/drum-v9",
      "url": "https://pointcast.xyz/drum-v9",
      "kind": "room",
      "title": "Drum v9"
    },
    {
      "route": "/drum-vespers",
      "url": "https://pointcast.xyz/drum-vespers",
      "kind": "room",
      "title": "Vespers · Bell on the Hour · PointCast",
      "description": "A bell tower that tolls automatically on every hour boundary. Open it, leave it open, listen. Bell-wing ambient surface."
    },
    {
      "route": "/drum-viz",
      "url": "https://pointcast.xyz/drum-viz",
      "kind": "room",
      "title": "/drum-viz — full-screen reactive visualizer",
      "description": "Plug into a TV. Every drum-hub event becomes light. Ripples radiate, particles bloom, spectrum bars dance. Subscribes to /api/sounds."
    },
    {
      "route": "/drum-vs",
      "url": "https://pointcast.xyz/drum-vs",
      "kind": "room",
      "title": "DRUM VS — 1v1 tug-of-war for friends",
      "description": "Send a link, tap together, first to 50 wins. A 1v1 drum game on PointCast — your Noun pulls one end of the rope, your friend pulls the other. Backed by a room-scoped event bus for tight cross-device latency."
    },
    {
      "route": "/drum-walkie",
      "url": "https://pointcast.xyz/drum-walkie",
      "kind": "room",
      "title": "/drum-walkie — push-to-talk channels",
      "description": "Walkie-talkie for the drum hub. Four channels, hold to talk, 100-char bursts. Pure transient — leave the page and your channel\\'s history goes with you."
    },
    {
      "route": "/drum-warhol-live",
      "url": "https://pointcast.xyz/drum-warhol-live",
      "kind": "room",
      "title": "Warhol Live · Shared Pop-Art Wall · PointCast",
      "description": "Twenty-four tiles, one shared wall. Click a tile to repaint it your color. Everyone sees it."
    },
    {
      "route": "/drum-zen",
      "url": "https://pointcast.xyz/drum-zen",
      "kind": "room",
      "title": "Zen Garden · Rake the Sand · PointCast",
      "description": "A pixel-art zen rock garden. Drag to draw rake lines in the sand. Three rocks placed for you."
    },
    {
      "route": "/drum-zen-v2",
      "url": "https://pointcast.xyz/drum-zen-v2",
      "kind": "room",
      "title": "Zen v2 · Living Sand · PointCast",
      "description": "A zen garden where the sand is always quietly drifting. Rake painterly lines. Rocks cast moving shadows."
    },
    {
      "route": "/editions",
      "url": "https://pointcast.xyz/editions",
      "kind": "room",
      "title": "Editions"
    },
    {
      "route": "/editions.json",
      "url": "https://pointcast.xyz/editions.json",
      "kind": "machine",
      "title": "editions.json",
      "description": "/editions.json — machine-readable editions dashboard."
    },
    {
      "route": "/el-segundo-school",
      "url": "https://pointcast.xyz/el-segundo-school",
      "kind": "room",
      "title": "/el-segundo-school — 652 works · gallery + makers",
      "description": "A three-dimensional archive of 652 works by Michael Hoydich, with one-tez Passport postcard and Stampz custom-stamp makers on Tezos Mainnet."
    },
    {
      "route": "/elemental-shrine",
      "url": "https://pointcast.xyz/elemental-shrine",
      "kind": "room",
      "title": "Elemental Shrine · Four Presences",
      "description": "A quiet interactive altar of stone, light, fire, and water, with an original elemental soundscape created in ElevenLabs."
    },
    {
      "route": "/eth-legacy",
      "url": "https://pointcast.xyz/eth-legacy",
      "kind": "room",
      "title": "ETH Legacy — the token-deployment retrospective",
      "description": "Mike deployed ~43 custom ERC-20 tokens on Ethereum, Ropsten, and Polygon between 2018 and 2021. This is the retrospective gallery. Public data only — private keys + mnemonics never stored here."
    },
    {
      "route": "/eth-legacy.json",
      "url": "https://pointcast.xyz/eth-legacy.json",
      "kind": "machine",
      "title": "eth-legacy.json",
      "description": "/eth-legacy.json — machine mirror. Same shape as the page, public only."
    },
    {
      "route": "/everything",
      "url": "https://pointcast.xyz/everything",
      "kind": "room",
      "title": "Everything",
      "description": "The PointCast census: every room, district door, dynamic route, and machine feed on one searchable page. Built from the filesystem, so it cannot go stale."
    },
    {
      "route": "/everything.json",
      "url": "https://pointcast.xyz/everything.json",
      "kind": "machine",
      "title": "everything.json",
      "description": "/everything.json — machine twin of /everything, the full-town census."
    },
    {
      "route": "/exchange-table",
      "url": "https://pointcast.xyz/exchange-table",
      "kind": "room",
      "title": "Exchange Table"
    },
    {
      "route": "/explore",
      "url": "https://pointcast.xyz/explore",
      "kind": "room",
      "title": "PointCast Feature Explorer",
      "description": "One directory of every PointCast surface — drum hub, Nouns Battler, agent lanes, Sing, Visit log, sprints, local rooms, channels, apps. Filter, search, click. Auto-built from the page tree."
    },
    {
      "route": "/explore.json",
      "url": "https://pointcast.xyz/explore.json",
      "kind": "machine",
      "title": "explore.json",
      "description": "/explore.json — agent-legible feature manifest."
    },
    {
      "route": "/explore.rss",
      "url": "https://pointcast.xyz/explore.rss",
      "kind": "machine",
      "title": "explore.rss",
      "description": "/explore.rss — \"new rooms\" feed."
    },
    {
      "route": "/family",
      "url": "https://pointcast.xyz/family",
      "kind": "room",
      "title": "Family — Fukunaga Hoydich",
      "description": "The Fukunaga Hoydich family + named circle. Private individuals, listed with explicit consent. Tezos addresses opt-in per person. Named in El Segundo, 2026."
    },
    {
      "route": "/family.json",
      "url": "https://pointcast.xyz/family.json",
      "kind": "machine",
      "title": "family.json",
      "description": "/family.json — machine-readable Fukunaga Hoydich family + circle roster."
    },
    {
      "route": "/farm",
      "url": "https://pointcast.xyz/farm",
      "kind": "room",
      "title": "Farm — Sam\\'s Plot",
      "description": "A small, zen farming game on PointCast. Tend a 9-tile plot with four seed types. Plant, water, harvest. Async-friendly. LocalStorage-backed."
    },
    {
      "route": "/faucet",
      "url": "https://pointcast.xyz/faucet",
      "kind": "room",
      "title": "/faucet — the tap, read not turned"
    },
    {
      "route": "/federation",
      "url": "https://pointcast.xyz/federation",
      "kind": "room",
      "title": "Federation · the node roster"
    },
    {
      "route": "/federation/at/{id}.json",
      "url": "https://pointcast.xyz/federation/at/",
      "kind": "machine",
      "title": "federation/at/{id}.json",
      "description": "/federation/at/{block_id}.json — Phase 1 toe-in.",
      "district": "federation"
    },
    {
      "route": "/federation/preview",
      "url": "https://pointcast.xyz/federation/preview",
      "kind": "district",
      "title": "Federation Preview",
      "district": "federation"
    },
    {
      "route": "/feed.json",
      "url": "https://pointcast.xyz/feed.json",
      "kind": "machine",
      "title": "feed.json",
      "description": "/feed.json — unified JSON Feed v1.1 covering every Block."
    },
    {
      "route": "/feed.xml",
      "url": "https://pointcast.xyz/feed.xml",
      "kind": "machine",
      "title": "feed.xml",
      "description": "/feed.xml — unified RSS 2.0 feed covering every Block."
    },
    {
      "route": "/fire",
      "url": "https://pointcast.xyz/fire",
      "kind": "room",
      "title": "Fire"
    },
    {
      "route": "/fire.json",
      "url": "https://pointcast.xyz/fire.json",
      "kind": "machine",
      "title": "fire.json"
    },
    {
      "route": "/first-pour",
      "url": "https://pointcast.xyz/first-pour",
      "kind": "room",
      "title": "First Pour"
    },
    {
      "route": "/first-pour/{date}",
      "url": "https://pointcast.xyz/first-pour/",
      "kind": "dynamic",
      "title": "First Pour {date}",
      "district": "first-pour"
    },
    {
      "route": "/for-agents",
      "url": "https://pointcast.xyz/for-agents",
      "kind": "room",
      "title": "for Agents"
    },
    {
      "route": "/for-nodes",
      "url": "https://pointcast.xyz/for-nodes",
      "kind": "room",
      "title": "for Nodes"
    },
    {
      "route": "/froggos",
      "url": "https://pointcast.xyz/froggos",
      "kind": "room",
      "title": "Froggos"
    },
    {
      "route": "/froggos.json",
      "url": "https://pointcast.xyz/froggos.json",
      "kind": "machine",
      "title": "froggos.json",
      "description": "/froggos.json - machine-readable mirror of /froggos."
    },
    {
      "route": "/gallery",
      "url": "https://pointcast.xyz/gallery",
      "kind": "room",
      "title": "Gallery — Midjourney + AI-art slideshow",
      "description": "A viewing experience for Midjourney + AI-art pieces on PointCast. Grid → lightbox → arrows/swipe to navigate → autoplay 6s/frame. Seeded with CC0 Nouns while Mike adds MJ entries."
    },
    {
      "route": "/gallery-wall",
      "url": "https://pointcast.xyz/gallery-wall",
      "kind": "room",
      "title": "Gallery Wall"
    },
    {
      "route": "/gallery/2026-07-20",
      "url": "https://pointcast.xyz/gallery/2026-07-20",
      "kind": "district",
      "title": "Gallery 2026 07 20",
      "district": "gallery"
    },
    {
      "route": "/gallery/2026-07-20.json",
      "url": "https://pointcast.xyz/gallery/2026-07-20.json",
      "kind": "machine",
      "title": "gallery/2026-07-20.json",
      "district": "gallery"
    },
    {
      "route": "/gallery/2026-07-21",
      "url": "https://pointcast.xyz/gallery/2026-07-21",
      "kind": "district",
      "title": "Gallery 2026 07 21",
      "district": "gallery"
    },
    {
      "route": "/gallery/2026-07-21.json",
      "url": "https://pointcast.xyz/gallery/2026-07-21.json",
      "kind": "machine",
      "title": "gallery/2026-07-21.json",
      "district": "gallery"
    },
    {
      "route": "/gallery/2026-07-22",
      "url": "https://pointcast.xyz/gallery/2026-07-22",
      "kind": "district",
      "title": "Gallery 2026 07 22",
      "district": "gallery"
    },
    {
      "route": "/gallery/2026-07-22.json",
      "url": "https://pointcast.xyz/gallery/2026-07-22.json",
      "kind": "machine",
      "title": "gallery/2026-07-22.json",
      "district": "gallery"
    },
    {
      "route": "/gallery/editions",
      "url": "https://pointcast.xyz/gallery/editions",
      "kind": "district",
      "title": "Gallery Editions",
      "description": "Permanent index of PointCast Today’s Art editions, with human galleries and matching public manifests.",
      "district": "gallery"
    },
    {
      "route": "/gallery/editions.json",
      "url": "https://pointcast.xyz/gallery/editions.json",
      "kind": "machine",
      "title": "gallery/editions.json",
      "district": "gallery"
    },
    {
      "route": "/gallery/today",
      "url": "https://pointcast.xyz/gallery/today",
      "kind": "district",
      "title": "Gallery Today",
      "district": "gallery"
    },
    {
      "route": "/gallery/today.json",
      "url": "https://pointcast.xyz/gallery/today.json",
      "kind": "machine",
      "title": "gallery/today.json",
      "district": "gallery"
    },
    {
      "route": "/gamgee",
      "url": "https://pointcast.xyz/gamgee",
      "kind": "room",
      "title": "Gamgee",
      "description": "Gamgee is the PointCast RC0 release train: a human front door, stable agent surfaces, and a visible builder loop for Claude, Codex, and Manus."
    },
    {
      "route": "/gandalf",
      "url": "https://pointcast.xyz/gandalf",
      "kind": "room",
      "title": "Sitting with Gandalf",
      "description": "The PointCast Gandalf companion room: V8 by default, rebuilt as a simpler cozy sit with two generated wizard scenes, calm feelings, procedural audio, and older Wizard Nouns releases still available."
    },
    {
      "route": "/garden-yield",
      "url": "https://pointcast.xyz/garden-yield",
      "kind": "room",
      "title": "Garden Yield · Native value system",
      "description": "An interactive value-yield planner for the El Segundo native planting palette from PointCast Block 0331."
    },
    {
      "route": "/garden-yield.json",
      "url": "https://pointcast.xyz/garden-yield.json",
      "kind": "machine",
      "title": "garden-yield.json",
      "description": "/garden-yield.json - machine mirror of the garden value-yield system."
    },
    {
      "route": "/geology.json",
      "url": "https://pointcast.xyz/geology.json",
      "kind": "machine",
      "title": "geology.json"
    },
    {
      "route": "/glossary",
      "url": "https://pointcast.xyz/glossary",
      "kind": "room",
      "title": "Glossary"
    },
    {
      "route": "/goal",
      "url": "https://pointcast.xyz/goal",
      "kind": "room",
      "title": "Goal"
    },
    {
      "route": "/goal.json",
      "url": "https://pointcast.xyz/goal.json",
      "kind": "machine",
      "title": "goal.json"
    },
    {
      "route": "/handshakes",
      "url": "https://pointcast.xyz/handshakes",
      "kind": "room",
      "title": "Handshakes — pointcast.xyz",
      "description": "When AI crawlers visit PointCast, PointCast looks back. A public ledger of reciprocal probes against operator-doc URLs and /.well-known/agents.json."
    },
    {
      "route": "/handshakes.json",
      "url": "https://pointcast.xyz/handshakes.json",
      "kind": "machine",
      "title": "handshakes.json",
      "description": "/handshakes.json — machine mirror of /handshakes."
    },
    {
      "route": "/health",
      "url": "https://pointcast.xyz/health",
      "kind": "room",
      "title": "The Town Inspector",
      "description": "PointCast walks every door its manifest advertises and re-verifies every claim it makes. The report is public — drift becomes a filing, not a surprise."
    },
    {
      "route": "/health.json",
      "url": "https://pointcast.xyz/health.json",
      "kind": "machine",
      "title": "health.json",
      "description": "/health.json — the town inspector's latest report, machine-readable."
    },
    {
      "route": "/here",
      "url": "https://pointcast.xyz/here",
      "kind": "room",
      "title": "Here"
    },
    {
      "route": "/honey-league",
      "url": "https://pointcast.xyz/honey-league",
      "kind": "room",
      "title": "Local Honey League",
      "description": "A local Honey League for the PointCast 25-mile radius: soft standings for helpful acts, court play, local tables, honey notes, and published receipts."
    },
    {
      "route": "/houseplants",
      "url": "https://pointcast.xyz/houseplants",
      "kind": "room",
      "title": "Houseplants · Learning lab",
      "description": "A PointCast learning module for houseplants: light, watering, roots, soil, humidity, feeding, repotting, propagation, symptoms, and common indoor plant profiles."
    },
    {
      "route": "/houseplants.json",
      "url": "https://pointcast.xyz/houseplants.json",
      "kind": "machine",
      "title": "houseplants.json",
      "description": "/houseplants.json - machine-readable mirror of the houseplant learning lab."
    },
    {
      "route": "/images/og/b/0484.png",
      "url": "https://pointcast.xyz/images/og/b/0484.png",
      "kind": "machine",
      "title": "images/og/b/0484.png",
      "district": "images"
    },
    {
      "route": "/images/og/b/0487.png",
      "url": "https://pointcast.xyz/images/og/b/0487.png",
      "kind": "machine",
      "title": "images/og/b/0487.png",
      "district": "images"
    },
    {
      "route": "/images/og/b/0491.png",
      "url": "https://pointcast.xyz/images/og/b/0491.png",
      "kind": "machine",
      "title": "images/og/b/0491.png",
      "district": "images"
    },
    {
      "route": "/images/og/b/0492.png",
      "url": "https://pointcast.xyz/images/og/b/0492.png",
      "kind": "machine",
      "title": "images/og/b/0492.png",
      "district": "images"
    },
    {
      "route": "/images/og/bells-bloom-showcast.png",
      "url": "https://pointcast.xyz/images/og/bells-bloom-showcast.png",
      "kind": "machine",
      "title": "images/og/bells-bloom-showcast.png",
      "district": "images"
    },
    {
      "route": "/images/og/corner-engineering-v3.png",
      "url": "https://pointcast.xyz/images/og/corner-engineering-v3.png",
      "kind": "machine",
      "title": "images/og/corner-engineering-v3.png",
      "district": "images"
    },
    {
      "route": "/images/qwen-good-intelligence/og.png",
      "url": "https://pointcast.xyz/images/qwen-good-intelligence/og.png",
      "kind": "machine",
      "title": "images/qwen-good-intelligence/og.png",
      "district": "images"
    },
    {
      "route": "/images/qwen-silver-letter/og.png",
      "url": "https://pointcast.xyz/images/qwen-silver-letter/og.png",
      "kind": "machine",
      "title": "images/qwen-silver-letter/og.png",
      "district": "images"
    },
    {
      "route": "/images/qwen-weather/qwen-weather-og.png",
      "url": "https://pointcast.xyz/images/qwen-weather/qwen-weather-og.png",
      "kind": "machine",
      "title": "images/qwen-weather/qwen-weather-og.png",
      "district": "images"
    },
    {
      "route": "/images/qwen-weather/weather-memory.mp4",
      "url": "https://pointcast.xyz/images/qwen-weather/weather-memory.mp4",
      "kind": "machine",
      "title": "images/qwen-weather/weather-memory.mp4",
      "district": "images"
    },
    {
      "route": "/images/qwen-weather/weather-organism.jpg",
      "url": "https://pointcast.xyz/images/qwen-weather/weather-organism.jpg",
      "kind": "machine",
      "title": "images/qwen-weather/weather-organism.jpg",
      "district": "images"
    },
    {
      "route": "/images/shrines/{asset}.png",
      "url": "https://pointcast.xyz/images/shrines/",
      "kind": "machine",
      "title": "images/shrines/{asset}.png",
      "district": "images"
    },
    {
      "route": "/images/sunset-switchboard/og.png",
      "url": "https://pointcast.xyz/images/sunset-switchboard/og.png",
      "kind": "machine",
      "title": "images/sunset-switchboard/og.png",
      "district": "images"
    },
    {
      "route": "/images/tone-bloom/tone-bloom-desktop.jpg",
      "url": "https://pointcast.xyz/images/tone-bloom/tone-bloom-desktop.jpg",
      "kind": "machine",
      "title": "images/tone-bloom/tone-bloom-desktop.jpg",
      "district": "images"
    },
    {
      "route": "/images/tone-bloom/tone-bloom-mobile-spark.jpg",
      "url": "https://pointcast.xyz/images/tone-bloom/tone-bloom-mobile-spark.jpg",
      "kind": "machine",
      "title": "images/tone-bloom/tone-bloom-mobile-spark.jpg",
      "district": "images"
    },
    {
      "route": "/images/tone-bloom/tone-bloom-review-og.png",
      "url": "https://pointcast.xyz/images/tone-bloom/tone-bloom-review-og.png",
      "kind": "machine",
      "title": "images/tone-bloom/tone-bloom-review-og.png",
      "district": "images"
    },
    {
      "route": "/inhabited",
      "url": "https://pointcast.xyz/inhabited",
      "kind": "room",
      "title": "Inhabited"
    },
    {
      "route": "/inhabited.json",
      "url": "https://pointcast.xyz/inhabited.json",
      "kind": "machine",
      "title": "inhabited.json",
      "description": "/inhabited.json — agent-readable index of the three resident/visitor rooms."
    },
    {
      "route": "/investment-thesis",
      "url": "https://pointcast.xyz/investment-thesis",
      "kind": "room",
      "title": "Nouns Nation Builder investment thesis V2"
    },
    {
      "route": "/investment-thesis.json",
      "url": "https://pointcast.xyz/investment-thesis.json",
      "kind": "machine",
      "title": "investment-thesis.json"
    },
    {
      "route": "/join",
      "url": "https://pointcast.xyz/join",
      "kind": "room",
      "title": "Join System - build with PointCast",
      "description": "A public build board that turns BossList, Digital Identity Cartography, TrustCommons, Omni, image messaging, Vibely, and the idea machine into claimable people, agent, sales, fulfillment, and receipt tasks."
    },
    {
      "route": "/join.json",
      "url": "https://pointcast.xyz/join.json",
      "kind": "machine",
      "title": "join.json",
      "description": "/join.json - machine-readable build board for people + agent tasks."
    },
    {
      "route": "/join.md",
      "url": "https://pointcast.xyz/join.md",
      "kind": "machine",
      "title": "join.md",
      "description": "/join.md — portable handoff for the public Join System board."
    },
    {
      "route": "/kettle",
      "url": "https://pointcast.xyz/kettle",
      "kind": "room",
      "title": "/kettle — stoke the flame, boil the room",
      "description": "A cozy multiplayer kettle on PointCast. Everyone in the kitchen stokes together. The kettle whistles when the heat hits 100%. Each boil is one cup poured for the whole room."
    },
    {
      "route": "/knock",
      "url": "https://pointcast.xyz/knock",
      "kind": "room",
      "title": "Knock — the random door",
      "description": "Click KNOCK and a random room in PointCast opens. A pixel-art front door for the small internet town. No login, no logic — just a door."
    },
    {
      "route": "/knock.json",
      "url": "https://pointcast.xyz/knock.json",
      "kind": "machine",
      "title": "knock.json",
      "description": "/knock.json — machine-readable contract for the random-door gate."
    },
    {
      "route": "/labs",
      "url": "https://pointcast.xyz/labs",
      "kind": "room",
      "title": "Labs"
    },
    {
      "route": "/labs.json",
      "url": "https://pointcast.xyz/labs.json",
      "kind": "machine",
      "title": "labs.json"
    },
    {
      "route": "/lantern",
      "url": "https://pointcast.xyz/lantern",
      "kind": "room",
      "title": "/lantern",
      "description": "A single paper lantern you can leave on. Color slowly shifts through the tide palette swatches. No controls, no audio. Local-only minutes counter."
    },
    {
      "route": "/last-tag",
      "url": "https://pointcast.xyz/last-tag",
      "kind": "room",
      "title": "Last tag",
      "description": "A fast PointCast playground game for six runners: pass the tag, use your dash, survive the shrinking yard, and do not be it when the clock hits zero."
    },
    {
      "route": "/last-tag.json",
      "url": "https://pointcast.xyz/last-tag.json",
      "kind": "machine",
      "title": "last-tag.json"
    },
    {
      "route": "/listening-grove",
      "url": "https://pointcast.xyz/listening-grove",
      "kind": "room",
      "title": "The Listening Grove",
      "description": "The PointCast edition of a 617-work audiovisual Midjourney archive with generative bells, gongs, swipe navigation, variable pacing, and optional haptics."
    },
    {
      "route": "/listening-room",
      "url": "https://pointcast.xyz/listening-room",
      "kind": "room",
      "title": "Listening Room",
      "description": "Drop a Spotify playlist into the room. Annotate the sequence. Share the receipt. Built for people who make playlists and argue lovingly about track 4."
    },
    {
      "route": "/listening-room.json",
      "url": "https://pointcast.xyz/listening-room.json",
      "kind": "machine",
      "title": "listening-room.json",
      "description": "/listening-room.json — machine-readable capability manifest for the"
    },
    {
      "route": "/llms-full.txt",
      "url": "https://pointcast.xyz/llms-full.txt",
      "kind": "machine",
      "title": "llms-full.txt"
    },
    {
      "route": "/llms.txt",
      "url": "https://pointcast.xyz/llms.txt",
      "kind": "machine",
      "title": "llms.txt"
    },
    {
      "route": "/lobby",
      "url": "https://pointcast.xyz/lobby",
      "kind": "room",
      "title": "Lobby"
    },
    {
      "route": "/lobby.json",
      "url": "https://pointcast.xyz/lobby.json",
      "kind": "machine",
      "title": "lobby.json",
      "description": "/lobby.json — agent-readable mirror of /lobby."
    },
    {
      "route": "/lobby.txt",
      "url": "https://pointcast.xyz/lobby.txt",
      "kind": "machine",
      "title": "lobby.txt"
    },
    {
      "route": "/lobby.xml",
      "url": "https://pointcast.xyz/lobby.xml",
      "kind": "machine",
      "title": "lobby.xml"
    },
    {
      "route": "/local",
      "url": "https://pointcast.xyz/local",
      "kind": "room",
      "title": "Local · 100 miles from El Segundo",
      "description": "PointCast\\'s 100-mile lens. Anchored on El Segundo. Name-drops, stations, in-range blocks, adjacent surfaces. The local register of the site — and the data layer for /tv STATIONS mode."
    },
    {
      "route": "/local-star-commons",
      "url": "https://pointcast.xyz/local-star-commons",
      "kind": "room",
      "title": "LOCAL STAR COMMONS — Useful Things, Governed in Common",
      "description": "Six local-first quality-of-life objects, five working circles, and three founding proposals for a contribution-governed El Segundo commons."
    },
    {
      "route": "/local-star-commons.json",
      "url": "https://pointcast.xyz/local-star-commons.json",
      "kind": "machine",
      "title": "local-star-commons.json"
    },
    {
      "route": "/local.json",
      "url": "https://pointcast.xyz/local.json",
      "kind": "machine",
      "title": "local.json",
      "description": "/local.json — machine mirror of /local. The 100-mile-radius lens as"
    },
    {
      "route": "/magpie",
      "url": "https://pointcast.xyz/magpie",
      "kind": "room",
      "title": "Magpie"
    },
    {
      "route": "/magpie.json",
      "url": "https://pointcast.xyz/magpie.json",
      "kind": "machine",
      "title": "magpie.json",
      "description": "/magpie.json — machine-readable manifest for the Magpie web UI."
    },
    {
      "route": "/manifesto",
      "url": "https://pointcast.xyz/manifesto",
      "kind": "room",
      "title": "Manifesto"
    },
    {
      "route": "/marine-layer",
      "url": "https://pointcast.xyz/marine-layer",
      "kind": "room",
      "title": "Marine Layer — the fog log"
    },
    {
      "route": "/marine-layer.json",
      "url": "https://pointcast.xyz/marine-layer.json",
      "kind": "machine",
      "title": "marine-layer.json"
    },
    {
      "route": "/market",
      "url": "https://pointcast.xyz/market",
      "kind": "room",
      "title": "Market"
    },
    {
      "route": "/marketplace",
      "url": "https://pointcast.xyz/marketplace",
      "kind": "room",
      "title": "Marketplace"
    },
    {
      "route": "/mcps",
      "url": "https://pointcast.xyz/mcps",
      "kind": "room",
      "title": "Mcps"
    },
    {
      "route": "/meditate",
      "url": "https://pointcast.xyz/meditate",
      "kind": "room",
      "title": "Ocean Meditation",
      "description": "A PointCast ocean meditation room with timed breathing, focus mode, tide log, and optional ambient tone."
    },
    {
      "route": "/meditate.json",
      "url": "https://pointcast.xyz/meditate.json",
      "kind": "machine",
      "title": "meditate.json",
      "description": "/meditate.json - machine-readable mirror of /meditate."
    },
    {
      "route": "/meetups",
      "url": "https://pointcast.xyz/meetups",
      "kind": "room",
      "title": "Mike-led Meetups",
      "description": "A community meetup page for Mike Hoydich led events inside the 25-mile PointCast participation radius."
    },
    {
      "route": "/menlo-park",
      "url": "https://pointcast.xyz/menlo-park",
      "kind": "room",
      "title": "Menlo Park"
    },
    {
      "route": "/menlo-park.json",
      "url": "https://pointcast.xyz/menlo-park.json",
      "kind": "machine",
      "title": "menlo-park.json"
    },
    {
      "route": "/mesh",
      "url": "https://pointcast.xyz/mesh",
      "kind": "room",
      "title": "Mesh — three networks that carry PointCast",
      "description": "PointCast runs on three meshes at once. LOCAL: the 25-mile radius around El Segundo. ONLINE: nine channels, RSS, JSON feeds, Farcaster. AGENT: stripped-HTML, /agents.json, llms.txt, every block as JSON. This page is the map."
    },
    {
      "route": "/messages",
      "url": "https://pointcast.xyz/messages",
      "kind": "room",
      "title": "Messages",
      "description": "Local-first PointCast Peer Message Protocol client: create a peer identity, sign Block Packets, export/import JSONL, draft public Blocks, and try chain-anchored messaging."
    },
    {
      "route": "/messages/chain",
      "url": "https://pointcast.xyz/messages/chain",
      "kind": "district",
      "title": "Messages Chain",
      "description": "PointCast Chain Messenger: register a peer, sign messages, and create Tezos-ready chain envelopes without putting private text on-chain.",
      "district": "messages"
    },
    {
      "route": "/messages/demo",
      "url": "https://pointcast.xyz/messages/demo",
      "kind": "district",
      "title": "Messages Demo",
      "description": "PCP/2 friend messaging demo: exchange friend cards, sign direct messages, and export the thread as JSONL.",
      "district": "messages"
    },
    {
      "route": "/minted",
      "url": "https://pointcast.xyz/minted",
      "kind": "room",
      "title": "/minted — what you hold on PointCast",
      "description": "Per-wallet live view of your holdings across PointCast Tezos collections — Coffee Mugs, Visit Nouns, Window Snapshots, and more."
    },
    {
      "route": "/moment",
      "url": "https://pointcast.xyz/moment",
      "kind": "room",
      "title": "Moment",
      "description": "Today's PointCast moment composed from moon, season, zone, zeitgeist, and a Good Feels pairing — ready to render in chatgpt.com/images with one paste."
    },
    {
      "route": "/moment/editor",
      "url": "https://pointcast.xyz/moment/editor",
      "kind": "district",
      "title": "Moment · Editor",
      "description": "Compose a PointCast postcard from any image URL — ChatGPT-generated, Unsplash photo, or anything hosted. Text overlays, live canvas, PNG export.",
      "district": "moment"
    },
    {
      "route": "/money",
      "url": "https://pointcast.xyz/money",
      "kind": "room",
      "title": "Money"
    },
    {
      "route": "/money.json",
      "url": "https://pointcast.xyz/money.json",
      "kind": "machine",
      "title": "money.json",
      "description": "/money.json — agent-readable feed of every Block carrying a `spend` field."
    },
    {
      "route": "/mood/{slug}",
      "url": "https://pointcast.xyz/mood/",
      "kind": "dynamic",
      "title": "Mood {slug}",
      "district": "mood"
    },
    {
      "route": "/mood/{slug}.json",
      "url": "https://pointcast.xyz/mood/",
      "kind": "machine",
      "title": "mood/{slug}.json",
      "description": "/mood/{slug}.json — machine-readable filter view. Agent mirror of",
      "district": "mood"
    },
    {
      "route": "/moods",
      "url": "https://pointcast.xyz/moods",
      "kind": "room",
      "title": "Moods · tonal atlas"
    },
    {
      "route": "/moods.json",
      "url": "https://pointcast.xyz/moods.json",
      "kind": "machine",
      "title": "moods.json",
      "description": "/moods.json — machine-readable tonal atlas. Mirror of /moods for agents."
    },
    {
      "route": "/moodygold",
      "url": "https://pointcast.xyz/moodygold",
      "kind": "room",
      "title": "Moodygold"
    },
    {
      "route": "/morning-ocean",
      "url": "https://pointcast.xyz/morning-ocean",
      "kind": "room",
      "title": "Morning Ocean"
    },
    {
      "route": "/morning-ocean.json",
      "url": "https://pointcast.xyz/morning-ocean.json",
      "kind": "machine",
      "title": "morning-ocean.json"
    },
    {
      "route": "/mythos",
      "url": "https://pointcast.xyz/mythos",
      "kind": "room",
      "title": "Mythos"
    },
    {
      "route": "/nature",
      "url": "https://pointcast.xyz/nature",
      "kind": "room",
      "title": "Nature · El Segundo field guide",
      "description": "PointCast field guide for El Segundo local flora, dunes, and the El Segundo blue butterfly."
    },
    {
      "route": "/nature-practice",
      "url": "https://pointcast.xyz/nature-practice",
      "kind": "room",
      "title": "Nature Practice"
    },
    {
      "route": "/nature-practice.json",
      "url": "https://pointcast.xyz/nature-practice.json",
      "kind": "machine",
      "title": "nature-practice.json"
    },
    {
      "route": "/nature-yield.json",
      "url": "https://pointcast.xyz/nature-yield.json",
      "kind": "machine",
      "title": "nature-yield.json",
      "description": "/nature-yield.json - machine mirror of the Block 0331 value system."
    },
    {
      "route": "/nature.json",
      "url": "https://pointcast.xyz/nature.json",
      "kind": "machine",
      "title": "nature.json",
      "description": "/nature.json - machine mirror of /nature."
    },
    {
      "route": "/network-el-segundo",
      "url": "https://pointcast.xyz/network-el-segundo",
      "kind": "room",
      "title": "Network El Segundo — The First 100 Signal",
      "description": "A living public artwork where each verified Tezos wallet turns on one light. Join the first 100 with a free Kukai message signature and zero tez."
    },
    {
      "route": "/network-el-segundo.json",
      "url": "https://pointcast.xyz/network-el-segundo.json",
      "kind": "machine",
      "title": "network-el-segundo.json"
    },
    {
      "route": "/network-el-segundo/field-kit",
      "url": "https://pointcast.xyz/network-el-segundo/field-kit",
      "kind": "district",
      "title": "Local Signal Field Kit — Network El Segundo",
      "description": "Eight neighbor-scale communication products and a three-phase rollout map for an opt-in El Segundo mesh.",
      "district": "network-el-segundo"
    },
    {
      "route": "/network-el-segundo/field-kit.json",
      "url": "https://pointcast.xyz/network-el-segundo/field-kit.json",
      "kind": "machine",
      "title": "network-el-segundo/field-kit.json",
      "district": "network-el-segundo"
    },
    {
      "route": "/network-el-segundo/mesh-commons",
      "url": "https://pointcast.xyz/network-el-segundo/mesh-commons",
      "kind": "district",
      "title": "Mesh Commons — Network El Segundo",
      "description": "A cash-floor, two-year plan for a useful community mesh across a 25-mile El Segundo horizon, with local-only sites, games, radio, maps, and a library.",
      "district": "network-el-segundo"
    },
    {
      "route": "/network-el-segundo/mesh-commons.json",
      "url": "https://pointcast.xyz/network-el-segundo/mesh-commons.json",
      "kind": "machine",
      "title": "network-el-segundo/mesh-commons.json",
      "district": "network-el-segundo"
    },
    {
      "route": "/network-el-segundo/share",
      "url": "https://pointcast.xyz/network-el-segundo/share",
      "kind": "district",
      "title": "Pass the Signal — Network El Segundo",
      "description": "Copy, share, or download the zero-cost invitation for Network El Segundo’s first 100 verified Tezos wallets.",
      "district": "network-el-segundo"
    },
    {
      "route": "/network-el-segundo/v2",
      "url": "https://pointcast.xyz/network-el-segundo/v2",
      "kind": "district",
      "title": "Network El Segundo V2 — 100 Windows",
      "description": "A living nighttime signal wall where each verified Tezos wallet lights one of 100 public windows.",
      "district": "network-el-segundo"
    },
    {
      "route": "/new-ocean",
      "url": "https://pointcast.xyz/new-ocean",
      "kind": "room",
      "title": "New Ocean",
      "description": "A new PointCast ocean room anchored to Mike Hoydich\\'s Piet Mondrian token on Tezos."
    },
    {
      "route": "/new-ocean.json",
      "url": "https://pointcast.xyz/new-ocean.json",
      "kind": "machine",
      "title": "new-ocean.json",
      "description": "/new-ocean.json - machine-readable mirror of /new-ocean."
    },
    {
      "route": "/next-sprint",
      "url": "https://pointcast.xyz/next-sprint",
      "kind": "room",
      "title": "Next Sprint"
    },
    {
      "route": "/next-sprint.json",
      "url": "https://pointcast.xyz/next-sprint.json",
      "kind": "machine",
      "title": "next-sprint.json",
      "description": "/next-sprint.json - machine-readable current sprint command board."
    },
    {
      "route": "/next-sprint.md",
      "url": "https://pointcast.xyz/next-sprint.md",
      "kind": "machine",
      "title": "next-sprint.md"
    },
    {
      "route": "/noun-battler",
      "url": "https://pointcast.xyz/noun-battler",
      "kind": "room",
      "title": "Noun Battler — Pacific 48",
      "description": "A five-round CC0 Noun stat battle with 48 battlers, a local stamp book, and a portable Passport card."
    },
    {
      "route": "/nouns-cards",
      "url": "https://pointcast.xyz/nouns-cards",
      "kind": "room",
      "title": "Nouns Cards",
      "description": "Ten real Nouns cards using noun.pics artwork, generated PointCast frames, and Tezos collection links."
    },
    {
      "route": "/nouns-cards-v2",
      "url": "https://pointcast.xyz/nouns-cards-v2",
      "kind": "room",
      "title": "Nouns Cards v2",
      "description": "A global set of 33 mintable PointCast Nouns cards: clean real Nouns and real Nouns staged with 3D depth."
    },
    {
      "route": "/nouns-cards-v3",
      "url": "https://pointcast.xyz/nouns-cards-v3",
      "kind": "room",
      "title": "Nouns Cards v3",
      "description": "PointCast Nouns Cards v3: a 100-edition grit-art set with Tezos minting, local wallet view, and shareable cards."
    },
    {
      "route": "/nouns-cola",
      "url": "https://pointcast.xyz/nouns-cola",
      "kind": "room",
      "title": "Nouns Cola"
    },
    {
      "route": "/nouns-cola-case-study",
      "url": "https://pointcast.xyz/nouns-cola-case-study",
      "kind": "room",
      "title": "Nouns Cola Case Study"
    },
    {
      "route": "/nouns-cola-case-study.json",
      "url": "https://pointcast.xyz/nouns-cola-case-study.json",
      "kind": "machine",
      "title": "nouns-cola-case-study.json"
    },
    {
      "route": "/nouns-cola-crush",
      "url": "https://pointcast.xyz/nouns-cola-crush",
      "kind": "room",
      "title": "Nouns Cola Crush"
    },
    {
      "route": "/nouns-cola-crush.json",
      "url": "https://pointcast.xyz/nouns-cola-crush.json",
      "kind": "machine",
      "title": "nouns-cola-crush.json",
      "description": "/nouns-cola-crush.json - machine-readable manifest for the Nouns Cola game."
    },
    {
      "route": "/nouns-cola-fundraise",
      "url": "https://pointcast.xyz/nouns-cola-fundraise",
      "kind": "room",
      "title": "Nouns Cola Fundraise"
    },
    {
      "route": "/nouns-cola-fundraise.json",
      "url": "https://pointcast.xyz/nouns-cola-fundraise.json",
      "kind": "machine",
      "title": "nouns-cola-fundraise.json"
    },
    {
      "route": "/nouns-cola-posters-02",
      "url": "https://pointcast.xyz/nouns-cola-posters-02",
      "kind": "room",
      "title": "Nouns Cola Posters 02"
    },
    {
      "route": "/nouns-cola-posters-02.json",
      "url": "https://pointcast.xyz/nouns-cola-posters-02.json",
      "kind": "machine",
      "title": "nouns-cola-posters-02.json"
    },
    {
      "route": "/nouns-cola.json",
      "url": "https://pointcast.xyz/nouns-cola.json",
      "kind": "machine",
      "title": "nouns-cola.json",
      "description": "/nouns-cola.json - machine-readable Nouns Cola operating plan."
    },
    {
      "route": "/nouns-cola/wall",
      "url": "https://pointcast.xyz/nouns-cola/wall",
      "kind": "district",
      "title": "Nouns Cola Wall",
      "district": "nouns-cola"
    },
    {
      "route": "/nouns-grid",
      "url": "https://pointcast.xyz/nouns-grid",
      "kind": "room",
      "title": "Grid · 144 Nouns · PointCast",
      "description": "144 Nouns in a 12×12 grid. Click any to spotlight. REFRESH to re-roll."
    },
    {
      "route": "/nouns-memory-v2",
      "url": "https://pointcast.xyz/nouns-memory-v2",
      "kind": "room",
      "title": "Nouns Memory v2",
      "description": "A Windows 95 worthy Nouns memory game: flip pairs, clear the tray, keep a local best score."
    },
    {
      "route": "/nouns-mines-v2",
      "url": "https://pointcast.xyz/nouns-mines-v2",
      "kind": "room",
      "title": "Nouns Mines v2",
      "description": "A Windows 95 worthy Nouns Mines board: flag mines, reveal safe tiles, and clear the desktop."
    },
    {
      "route": "/nouns-nation",
      "url": "https://pointcast.xyz/nouns-nation",
      "kind": "room",
      "title": "Nouns Nation"
    },
    {
      "route": "/nouns-nation-battler",
      "url": "https://pointcast.xyz/nouns-nation-battler",
      "kind": "room",
      "title": "Nouns Nation Battler"
    },
    {
      "route": "/nouns-nation-battler-agents",
      "url": "https://pointcast.xyz/nouns-nation-battler-agents",
      "kind": "room",
      "title": "Nouns Nation Battler Agents"
    },
    {
      "route": "/nouns-nation-battler-agents.json",
      "url": "https://pointcast.xyz/nouns-nation-battler-agents.json",
      "kind": "machine",
      "title": "nouns-nation-battler-agents.json",
      "description": "/nouns-nation-battler-agents.json - task board for visiting AI agents."
    },
    {
      "route": "/nouns-nation-battler-agents/desk",
      "url": "https://pointcast.xyz/nouns-nation-battler-agents/desk",
      "kind": "district",
      "title": "Nouns Nation Battler Agents Desk",
      "district": "nouns-nation-battler-agents"
    },
    {
      "route": "/nouns-nation-battler-bowl",
      "url": "https://pointcast.xyz/nouns-nation-battler-bowl",
      "kind": "room",
      "title": "Nouns Nation Battler Bowl"
    },
    {
      "route": "/nouns-nation-battler-bowl.json",
      "url": "https://pointcast.xyz/nouns-nation-battler-bowl.json",
      "kind": "machine",
      "title": "nouns-nation-battler-bowl.json",
      "description": "/nouns-nation-battler-bowl.json — agent-readable snapshot of the"
    },
    {
      "route": "/nouns-nation-battler-desk",
      "url": "https://pointcast.xyz/nouns-nation-battler-desk",
      "kind": "room",
      "title": "Nouns Nation Battler Desk"
    },
    {
      "route": "/nouns-nation-battler-mobile",
      "url": "https://pointcast.xyz/nouns-nation-battler-mobile",
      "kind": "room",
      "title": "Nouns Nation Battler Mobile Cast",
      "description": "Pocket Cast for Nouns Nation Battler: phone-first match viewing, query-aware Kingdom links, compact controls, move feed, and Noun-heavy mobile share copy."
    },
    {
      "route": "/nouns-nation-battler-moon",
      "url": "https://pointcast.xyz/nouns-nation-battler-moon",
      "kind": "room",
      "title": "Nouns Nation Battler Moon"
    },
    {
      "route": "/nouns-nation-battler-moon.json",
      "url": "https://pointcast.xyz/nouns-nation-battler-moon.json",
      "kind": "machine",
      "title": "nouns-nation-battler-moon.json",
      "description": "/nouns-nation-battler-moon.json — agent-readable snapshot of the next"
    },
    {
      "route": "/nouns-nation-battler-posters",
      "url": "https://pointcast.xyz/nouns-nation-battler-posters",
      "kind": "room",
      "title": "Nouns Nation Battler Posters"
    },
    {
      "route": "/nouns-nation-battler-production",
      "url": "https://pointcast.xyz/nouns-nation-battler-production",
      "kind": "room",
      "title": "Nouns Nation Battler Production"
    },
    {
      "route": "/nouns-nation-battler-prompts",
      "url": "https://pointcast.xyz/nouns-nation-battler-prompts",
      "kind": "room",
      "title": "Nouns Nation Battler Prompts"
    },
    {
      "route": "/nouns-nation-battler-sponsors",
      "url": "https://pointcast.xyz/nouns-nation-battler-sponsors",
      "kind": "room",
      "title": "Nouns Nation Battler Sponsors"
    },
    {
      "route": "/nouns-nation-battler-sprint.json",
      "url": "https://pointcast.xyz/nouns-nation-battler-sprint.json",
      "kind": "machine",
      "title": "nouns-nation-battler-sprint.json",
      "description": "/nouns-nation-battler-sprint.json - Season 6 mission board for agents."
    },
    {
      "route": "/nouns-nation-battler-tasks",
      "url": "https://pointcast.xyz/nouns-nation-battler-tasks",
      "kind": "room",
      "title": "Nouns Nation Battler Tasks"
    },
    {
      "route": "/nouns-nation-battler-tv",
      "url": "https://pointcast.xyz/nouns-nation-battler-tv",
      "kind": "room",
      "title": "Nouns Nation Battler TV Cast",
      "description": "A fullscreen watch-party TV broadcast view of the automated Nouns Nation Battler league with Director Mode camera cues, replay bay, score-consistent quick sims, copyable Commissioner Desk table briefs, snapshot-backed Desk Wall watch frames, canonical shareable report card links, in-session Report Gallery handoff, downloadable Season Report cards, portable Season Desk Wall snapshots, Results Desk MCP handoff for Claude/Cowork scorebooks, season challenge briefs, live storyline, rivalry heat, V33 Bowl Countdown and boss field context, Noun-heavy overview interstitials, live scoreboard, story cards, QR handoff, a TV Watch Guide shortcut, and clean handoff links from the Watch Party Kit and Recap Studio."
    },
    {
      "route": "/nouns-nation-battler-v2",
      "url": "https://pointcast.xyz/nouns-nation-battler-v2",
      "kind": "room",
      "title": "Nouns Nation Battler v2"
    },
    {
      "route": "/nouns-nation-battler-v3",
      "url": "https://pointcast.xyz/nouns-nation-battler-v3",
      "kind": "room",
      "title": "Nouns Nation Battler v3"
    },
    {
      "route": "/nouns-nation-battler-wiki",
      "url": "https://pointcast.xyz/nouns-nation-battler-wiki",
      "kind": "room",
      "title": "Nouns Nation Battler Wiki"
    },
    {
      "route": "/nouns-nation-battler-wiki.json",
      "url": "https://pointcast.xyz/nouns-nation-battler-wiki.json",
      "kind": "machine",
      "title": "nouns-nation-battler-wiki.json",
      "description": "/nouns-nation-battler-wiki.json - machine-readable Battler wiki map."
    },
    {
      "route": "/nouns-nation-battler.json",
      "url": "https://pointcast.xyz/nouns-nation-battler.json",
      "kind": "machine",
      "title": "nouns-nation-battler.json",
      "description": "/nouns-nation-battler.json - machine-readable manifest for the 30v30 Nouns league auto-battler."
    },
    {
      "route": "/nouns-nation-sports-reenactment",
      "url": "https://pointcast.xyz/nouns-nation-sports-reenactment",
      "kind": "room",
      "title": "Nouns Nation Sports Reenactment"
    },
    {
      "route": "/nouns-nation-sports-reenactment/goal",
      "url": "https://pointcast.xyz/nouns-nation-sports-reenactment/goal",
      "kind": "district",
      "title": "Nouns Nation Sports Reenactment Goal",
      "district": "nouns-nation-sports-reenactment"
    },
    {
      "route": "/nouns-nation.json",
      "url": "https://pointcast.xyz/nouns-nation.json",
      "kind": "machine",
      "title": "nouns-nation.json",
      "description": "/nouns-nation.json - machine-readable hub and federation manifest."
    },
    {
      "route": "/nouns-nation/federation",
      "url": "https://pointcast.xyz/nouns-nation/federation",
      "kind": "district",
      "title": "Nouns Nation Federation",
      "district": "nouns-nation"
    },
    {
      "route": "/nouns-nation/join",
      "url": "https://pointcast.xyz/nouns-nation/join",
      "kind": "district",
      "title": "Nouns Nation Join",
      "district": "nouns-nation"
    },
    {
      "route": "/nouns-nation/roadmap",
      "url": "https://pointcast.xyz/nouns-nation/roadmap",
      "kind": "district",
      "title": "Nouns Nation Builder Roadmap V2",
      "description": "A three-year roadmap for taking Nouns Nation from web-native arena to agent-operated broadcast, TV-ready league, partner venues, and a live final format.",
      "district": "nouns-nation"
    },
    {
      "route": "/nouns-nation/roadmap.json",
      "url": "https://pointcast.xyz/nouns-nation/roadmap.json",
      "kind": "machine",
      "title": "nouns-nation/roadmap.json",
      "district": "nouns-nation"
    },
    {
      "route": "/nouns-open-circuit",
      "url": "https://pointcast.xyz/nouns-open-circuit",
      "kind": "room",
      "title": "Nouns Open Circuit"
    },
    {
      "route": "/nouns-open-circuit.json",
      "url": "https://pointcast.xyz/nouns-open-circuit.json",
      "kind": "machine",
      "title": "nouns-open-circuit.json",
      "description": "/nouns-open-circuit.json - machine-readable concept manifest for the rival Nouns agent league."
    },
    {
      "route": "/nouns-open-circuit/match/{id}",
      "url": "https://pointcast.xyz/nouns-open-circuit/match/",
      "kind": "dynamic",
      "title": "Nouns Open Circuit Match {id}",
      "district": "nouns-open-circuit"
    },
    {
      "route": "/nouns-portraits",
      "url": "https://pointcast.xyz/nouns-portraits",
      "kind": "room",
      "title": "Nouns Portraits",
      "description": "Five PointCast Visit Nouns portraits, mintable on Tezos mainnet through the Visit Nouns FA2."
    },
    {
      "route": "/nouns-pyramid-v2",
      "url": "https://pointcast.xyz/nouns-pyramid-v2",
      "kind": "room",
      "title": "Nouns Pyramid v2",
      "description": "A Windows 95 Nouns pyramid card game: remove pairs that add to 13 and clear the table."
    },
    {
      "route": "/nouns-stamps",
      "url": "https://pointcast.xyz/nouns-stamps",
      "kind": "room",
      "title": "Stamps · Noun Postage · PointCast",
      "description": "A sheet of vintage Noun postage stamps. Click to cancel any stamp with a postmark."
    },
    {
      "route": "/nouns-warhol",
      "url": "https://pointcast.xyz/nouns-warhol",
      "kind": "room",
      "title": "Nouns × Warhol · Four-Up Pop-Art · PointCast",
      "description": "Andy Warhol\\'s serial pop-art treatment, applied to Nouns. Four panels, four palettes, one Noun."
    },
    {
      "route": "/nouns-wood-chop",
      "url": "https://pointcast.xyz/nouns-wood-chop",
      "kind": "room",
      "title": "Nouns Wood Chop"
    },
    {
      "route": "/nouns-wood-chop.json",
      "url": "https://pointcast.xyz/nouns-wood-chop.json",
      "kind": "machine",
      "title": "nouns-wood-chop.json",
      "description": "/nouns-wood-chop.json - machine-readable manifest for the Nouns Wood Chop game."
    },
    {
      "route": "/now",
      "url": "https://pointcast.xyz/now",
      "kind": "room",
      "title": "now"
    },
    {
      "route": "/now-playing.json",
      "url": "https://pointcast.xyz/now-playing.json",
      "kind": "machine",
      "title": "now-playing.json"
    },
    {
      "route": "/now.json",
      "url": "https://pointcast.xyz/now.json",
      "kind": "machine",
      "title": "now.json",
      "description": "/now.json — machine-readable version of /now."
    },
    {
      "route": "/observatory",
      "url": "https://pointcast.xyz/observatory",
      "kind": "room",
      "title": "Observatory"
    },
    {
      "route": "/ocean-wing",
      "url": "https://pointcast.xyz/ocean-wing",
      "kind": "room",
      "title": "Ocean Wing"
    },
    {
      "route": "/ocean-wing.json",
      "url": "https://pointcast.xyz/ocean-wing.json",
      "kind": "machine",
      "title": "ocean-wing.json"
    },
    {
      "route": "/offbalance",
      "url": "https://pointcast.xyz/offbalance",
      "kind": "room",
      "title": "Offbalance"
    },
    {
      "route": "/open-ad-network.js",
      "url": "https://pointcast.xyz/open-ad-network.js",
      "kind": "machine",
      "title": "open-ad-network.js"
    },
    {
      "route": "/open-road",
      "url": "https://pointcast.xyz/open-road",
      "kind": "room",
      "title": "Shrine of the Open Road",
      "description": "A quiet one-minute shrine for the open road: breathe with a 1955 Chevrolet, offer a light, and leave gently."
    },
    {
      "route": "/open-road-v2",
      "url": "https://pointcast.xyz/open-road-v2",
      "kind": "room",
      "title": "Open Road II · Two Passages",
      "description": "A two-part, one-minute image shrine made from ten 1955 Chevrolet paintings: five stations of first light and five stations of printed vespers."
    },
    {
      "route": "/open-road-v3",
      "url": "https://pointcast.xyz/open-road-v3",
      "kind": "room",
      "title": "Open Road III · Beyond the Windshield",
      "description": "A one-minute image shrine beyond the automobile: ten works gathered into wayside psalms and an inner chorus, one breath at a time."
    },
    {
      "route": "/open-road-v4",
      "url": "https://pointcast.xyz/open-road-v4",
      "kind": "room",
      "title": "Open Road IV · The Bell Between Things",
      "description": "A contemplative image shrine in five call-and-answer pairs, with an optional drift and small, user-invoked bells."
    },
    {
      "route": "/open-road-v5",
      "url": "https://pointcast.xyz/open-road-v5",
      "kind": "room",
      "title": "Open Road V · The Window You Make",
      "description": "Choose five works from a deeper image archive and let them become a personal stained-glass window and five-line prayer."
    },
    {
      "route": "/open-road-v6",
      "url": "https://pointcast.xyz/open-road-v6",
      "kind": "room",
      "title": "Open Road VI · A Light for Pete",
      "description": "A one-minute image vigil for Pete: ten works from the deeper archive, one unhurried passage, and optional opening and closing bells."
    },
    {
      "route": "/open-road-v7",
      "url": "https://pointcast.xyz/open-road-v7",
      "kind": "room",
      "title": "Open Road VII · The Hour That Finds You",
      "description": "A private book of hours: sixteen quiet witnesses, four local-time watches, a one-minute passage, and one light to carry onward."
    },
    {
      "route": "/open-road-v8",
      "url": "https://pointcast.xyz/open-road-v8",
      "kind": "room",
      "title": "Open Road VIII · The Long Way Home",
      "description": "An eight-mile passage through changing light. Walk at your own pace, listen for the road, and arrive somewhere slightly different."
    },
    {
      "route": "/pace",
      "url": "https://pointcast.xyz/pace",
      "kind": "room",
      "title": "/pace — the movement room · PointCast",
      "description": "A walking companion. Pick a pace — slow, medium, brisk — start a metronome, count your steps. /pace is the third member of the room set: still, color, movement."
    },
    {
      "route": "/paddle-exchange",
      "url": "https://pointcast.xyz/paddle-exchange",
      "kind": "room",
      "title": "Paddle Tide Exchange",
      "description": "A local pickleball paddle exchange and library for the 25-mile PointCast participation radius, with profile registration, DUPR handle field, and trade or loan intent."
    },
    {
      "route": "/pairings",
      "url": "https://pointcast.xyz/pairings",
      "kind": "room",
      "title": "Pairings · blocks × products × vibe"
    },
    {
      "route": "/pairings/{mood}",
      "url": "https://pointcast.xyz/pairings/",
      "kind": "dynamic",
      "title": "Pairings {mood}",
      "district": "pairings"
    },
    {
      "route": "/pairings/{mood}.json",
      "url": "https://pointcast.xyz/pairings/",
      "kind": "machine",
      "title": "pairings/{mood}.json",
      "description": "/pairings/{mood}.json — machine-readable commerce/editorial pairing.",
      "district": "pairings"
    },
    {
      "route": "/passport",
      "url": "https://pointcast.xyz/passport",
      "kind": "room",
      "title": "Passport",
      "description": "A dual-ledger PointCast passport: private local ritual stamps on one page, public Tezos collection visas on the other, with optional wallet-signed journey seals."
    },
    {
      "route": "/passport.json",
      "url": "https://pointcast.xyz/passport.json",
      "kind": "machine",
      "title": "passport.json"
    },
    {
      "route": "/pet",
      "url": "https://pointcast.xyz/pet",
      "kind": "room",
      "title": "pet"
    },
    {
      "route": "/pets",
      "url": "https://pointcast.xyz/pets",
      "kind": "room",
      "title": "PointCast Pets"
    },
    {
      "route": "/pets.json",
      "url": "https://pointcast.xyz/pets.json",
      "kind": "machine",
      "title": "pets.json"
    },
    {
      "route": "/ping",
      "url": "https://pointcast.xyz/ping",
      "kind": "room",
      "title": "Ping — message Claude Code",
      "description": "Async inbox for PointCast. Drop a message — Claude Code reads it at the start of the next session. Optional Beacon wallet signing, no account required."
    },
    {
      "route": "/play",
      "url": "https://pointcast.xyz/play",
      "kind": "room",
      "title": "Play"
    },
    {
      "route": "/play.json",
      "url": "https://pointcast.xyz/play.json",
      "kind": "machine",
      "title": "play.json"
    },
    {
      "route": "/poll/{slug}",
      "url": "https://pointcast.xyz/poll/",
      "kind": "dynamic",
      "title": "Poll {slug}",
      "district": "poll"
    },
    {
      "route": "/polls",
      "url": "https://pointcast.xyz/polls",
      "kind": "room",
      "title": "Polls — Schelling-point coordination",
      "description": "Pick a focal point. Win if you match the most-popular answer. Coordination game over content. Per Mike 2026-04-18 directive."
    },
    {
      "route": "/postcards",
      "url": "https://pointcast.xyz/postcards",
      "kind": "room",
      "title": "/postcards — PointCast Postcards · El Segundo Set 1",
      "description": "Seven painted postcards from El Segundo as FA2 NFTs. Free open-edition mint, 100 editions each. Marine layer, the pier, the dunes, Ralphs at 3pm, the refinery at eleven pm, Manhattan pier at golden hour, and the moment the fog thins."
    },
    {
      "route": "/posts/{slug}",
      "url": "https://pointcast.xyz/posts/",
      "kind": "dynamic",
      "title": "Posts {slug}",
      "district": "posts"
    },
    {
      "route": "/potters-field",
      "url": "https://pointcast.xyz/potters-field",
      "kind": "room",
      "title": "Potters Field"
    },
    {
      "route": "/potters-field.json",
      "url": "https://pointcast.xyz/potters-field.json",
      "kind": "machine",
      "title": "potters-field.json"
    },
    {
      "route": "/prayer-altars",
      "url": "https://pointcast.xyz/prayer-altars",
      "kind": "room",
      "title": "Prayer Altars · The Morning Hours · PointCast",
      "description": "Five prayer stations for a Southern California morning — matins, lauds, prime, terce, sext. Thirty Midjourney pieces on slow rotation. Tap PRAY, leave a prayer."
    },
    {
      "route": "/prayer-altars-evening",
      "url": "https://pointcast.xyz/prayer-altars-evening",
      "kind": "room",
      "title": "Prayer Altars · The Evening Hours · PointCast",
      "description": "Five more prayer stations for a Southern California evening — none, vespers, lucernarium, compline, vigil. Thirty more Midjourney pieces on slow rotation. Tap PRAY, leave a prayer."
    },
    {
      "route": "/prayer-bells",
      "url": "https://pointcast.xyz/prayer-bells",
      "kind": "room",
      "title": "Prayer Bells · The Angelus · PointCast",
      "description": "A meditative chime garden — twelve pentatonic brass chimes under Midjourney skies. Chime, bowl, and music-box voices, wind mode, echo memory. Toll the Angelus, leave a prayer."
    },
    {
      "route": "/prayer-candles",
      "url": "https://pointcast.xyz/prayer-candles",
      "kind": "room",
      "title": "Prayer Candles · The Votive · PointCast",
      "description": "A shared candle wall — light a votive for one of eleven intentions and it burns 24 real hours where everyone can see it. Stained-glass Midjourney windows above."
    },
    {
      "route": "/prayer-labyrinth",
      "url": "https://pointcast.xyz/prayer-labyrinth",
      "kind": "room",
      "title": "Prayer Labyrinth · The Walk · PointCast"
    },
    {
      "route": "/press",
      "url": "https://pointcast.xyz/press",
      "kind": "room",
      "title": "Press"
    },
    {
      "route": "/press.json",
      "url": "https://pointcast.xyz/press.json",
      "kind": "machine",
      "title": "press.json"
    },
    {
      "route": "/press.xml",
      "url": "https://pointcast.xyz/press.xml",
      "kind": "machine",
      "title": "press.xml"
    },
    {
      "route": "/press/{slug}",
      "url": "https://pointcast.xyz/press/",
      "kind": "dynamic",
      "title": "Press {slug}",
      "district": "press"
    },
    {
      "route": "/press/{slug}.json",
      "url": "https://pointcast.xyz/press/",
      "kind": "machine",
      "title": "press/{slug}.json",
      "district": "press"
    },
    {
      "route": "/privacy",
      "url": "https://pointcast.xyz/privacy",
      "kind": "room",
      "title": "Privacy"
    },
    {
      "route": "/products",
      "url": "https://pointcast.xyz/products",
      "kind": "room",
      "title": "Products — Good Feels via PointCast",
      "description": "Structured mirror of the public Good Feels Shopify catalog. Schema.org Product markup, agent-readable, CORS-open, checkout at getgoodfeels.com."
    },
    {
      "route": "/products.json",
      "url": "https://pointcast.xyz/products.json",
      "kind": "machine",
      "title": "products.json",
      "description": "/products.json — machine-readable product catalog."
    },
    {
      "route": "/products/{slug}",
      "url": "https://pointcast.xyz/products/",
      "kind": "dynamic",
      "title": "Products {slug}",
      "district": "products"
    },
    {
      "route": "/products/{slug}.json",
      "url": "https://pointcast.xyz/products/",
      "kind": "machine",
      "title": "products/{slug}.json",
      "description": "/products/{slug}.json — machine-readable companion to a product detail page.",
      "district": "products"
    },
    {
      "route": "/profile",
      "url": "https://pointcast.xyz/profile",
      "kind": "room",
      "title": "Profile"
    },
    {
      "route": "/projects/{slug}",
      "url": "https://pointcast.xyz/projects/",
      "kind": "dynamic",
      "title": "Projects {slug}",
      "district": "projects"
    },
    {
      "route": "/protocol",
      "url": "https://pointcast.xyz/protocol",
      "kind": "room",
      "title": "Protocol",
      "description": "PointCast Peer Message Protocol v1: signed Block packets, replaceable relays, local-first logs, and human plus agent peers for 2026 and 2027."
    },
    {
      "route": "/protocol.json",
      "url": "https://pointcast.xyz/protocol.json",
      "kind": "machine",
      "title": "protocol.json"
    },
    {
      "route": "/provenance-ledger",
      "url": "https://pointcast.xyz/provenance-ledger",
      "kind": "room",
      "title": "Provenance Ledger"
    },
    {
      "route": "/publish",
      "url": "https://pointcast.xyz/publish",
      "kind": "room",
      "title": "Publish"
    },
    {
      "route": "/publish.json",
      "url": "https://pointcast.xyz/publish.json",
      "kind": "machine",
      "title": "publish.json",
      "description": "/publish.json — static descriptor of the publishing system."
    },
    {
      "route": "/quests",
      "url": "https://pointcast.xyz/quests",
      "kind": "room",
      "title": "Quests"
    },
    {
      "route": "/qwen-good-intelligence",
      "url": "https://pointcast.xyz/qwen-good-intelligence",
      "kind": "room",
      "title": "善智调度局 — Qwen Model Study 003",
      "description": "A device-local care-routing instrument rooted in Kaiping and Jiangmen, Guangdong. Pair one community need with one available capacity—without scoring people."
    },
    {
      "route": "/qwen-good-intelligence.json",
      "url": "https://pointcast.xyz/qwen-good-intelligence.json",
      "kind": "machine",
      "title": "qwen-good-intelligence.json"
    },
    {
      "route": "/qwen-silver-letter",
      "url": "https://pointcast.xyz/qwen-silver-letter",
      "kind": "room",
      "title": "银信气象台 — Qwen Model Study 002",
      "description": "A public PointCast weather-letter instrument rooted in Kaiping, Jiangmen, western Guangdong: river, kitchen, distance, and neighborly care."
    },
    {
      "route": "/qwen-silver-letter.json",
      "url": "https://pointcast.xyz/qwen-silver-letter.json",
      "kind": "machine",
      "title": "qwen-silver-letter.json"
    },
    {
      "route": "/qwen-weather",
      "url": "https://pointcast.xyz/qwen-weather",
      "kind": "room",
      "title": "QWEN / WEATHER MEMORY — PointCast Model Study 001",
      "description": "Qwen 3.8 wrote an impossible forecast, GLM-5.2 answered it, Wan 2.7 imagined the organism, and HappyHorse gave it motion and sound."
    },
    {
      "route": "/qwen-weather.json",
      "url": "https://pointcast.xyz/qwen-weather.json",
      "kind": "machine",
      "title": "qwen-weather.json"
    },
    {
      "route": "/race",
      "url": "https://pointcast.xyz/race",
      "kind": "room",
      "title": "Race · PointCast",
      "description": "Every race on PointCast — running, scheduled, and resolved. One competition per day, per channel."
    },
    {
      "route": "/race/front-door",
      "url": "https://pointcast.xyz/race/front-door",
      "kind": "district",
      "title": "Race Front Door",
      "district": "race"
    },
    {
      "route": "/radio",
      "url": "https://pointcast.xyz/radio",
      "kind": "room",
      "title": "Radio"
    },
    {
      "route": "/random",
      "url": "https://pointcast.xyz/random",
      "kind": "room",
      "title": "Random"
    },
    {
      "route": "/random.json",
      "url": "https://pointcast.xyz/random.json",
      "kind": "machine",
      "title": "random.json",
      "description": "/random.json — return a random Block's metadata as JSON."
    },
    {
      "route": "/rcs",
      "url": "https://pointcast.xyz/rcs",
      "kind": "room",
      "title": "randomly common skeles",
      "description": "A PointCast-native room for randomly common skeles, the 37,802-piece animated FA2 collection by John Karel on Tezos."
    },
    {
      "route": "/recap/{week}",
      "url": "https://pointcast.xyz/recap/",
      "kind": "dynamic",
      "title": "Recap {week}",
      "district": "recap"
    },
    {
      "route": "/resident",
      "url": "https://pointcast.xyz/resident",
      "kind": "room",
      "title": "Resident",
      "description": "Local resident loop status: current join-system task, last 10 runs, success/fail counts, and compute hours."
    },
    {
      "route": "/resident.md",
      "url": "https://pointcast.xyz/resident.md",
      "kind": "machine",
      "title": "resident.md"
    },
    {
      "route": "/residents",
      "url": "https://pointcast.xyz/residents",
      "kind": "room",
      "title": "Residents"
    },
    {
      "route": "/residents.json",
      "url": "https://pointcast.xyz/residents.json",
      "kind": "machine",
      "title": "residents.json",
      "description": "/residents.json — compact machine-readable companion to /residents."
    },
    {
      "route": "/reviews",
      "url": "https://pointcast.xyz/reviews",
      "kind": "room",
      "title": "PointCast Reviews",
      "description": "Independent reviews of art software, small web products, listening tools, and interfaces worth living with."
    },
    {
      "route": "/reviews.json",
      "url": "https://pointcast.xyz/reviews.json",
      "kind": "machine",
      "title": "reviews.json"
    },
    {
      "route": "/reviews/the-listening-grove",
      "url": "https://pointcast.xyz/reviews/the-listening-grove",
      "kind": "district",
      "title": "Reviews the Listening Grove",
      "district": "reviews"
    },
    {
      "route": "/reviews/the-listening-grove.json",
      "url": "https://pointcast.xyz/reviews/the-listening-grove.json",
      "kind": "machine",
      "title": "reviews/the-listening-grove.json",
      "district": "reviews"
    },
    {
      "route": "/reviews/tone-bloom",
      "url": "https://pointcast.xyz/reviews/tone-bloom",
      "kind": "district",
      "title": "Tone Bloom rings in the tiny web",
      "description": "Twelve synthesized voices, four speeds, 38 precisely chosen images—and the rare consumer app that knows when to stop.",
      "district": "reviews"
    },
    {
      "route": "/reviews/tone-bloom.json",
      "url": "https://pointcast.xyz/reviews/tone-bloom.json",
      "kind": "machine",
      "title": "reviews/tone-bloom.json",
      "district": "reviews"
    },
    {
      "route": "/reviews/year-one",
      "url": "https://pointcast.xyz/reviews/year-one",
      "kind": "district",
      "title": "Reviews Year one",
      "district": "reviews"
    },
    {
      "route": "/reviews/year-one.json",
      "url": "https://pointcast.xyz/reviews/year-one.json",
      "kind": "machine",
      "title": "reviews/year-one.json",
      "district": "reviews"
    },
    {
      "route": "/ritual-clock",
      "url": "https://pointcast.xyz/ritual-clock",
      "kind": "room",
      "title": "Ritual Clock"
    },
    {
      "route": "/robots.txt",
      "url": "https://pointcast.xyz/robots.txt",
      "kind": "machine",
      "title": "robots.txt"
    },
    {
      "route": "/room",
      "url": "https://pointcast.xyz/room",
      "kind": "room",
      "title": "/room — a listening room for the mix",
      "description": "Press play. 10 tracks, 1h 11m. Katherine Jenkins, Pachelbel, Donna McKevitt, Thompson Twins, Sun Ra, and the spaces between. A reverent, eclectic room-mix curated by Mike."
    },
    {
      "route": "/room-weather",
      "url": "https://pointcast.xyz/room-weather",
      "kind": "room",
      "title": "Room Weather"
    },
    {
      "route": "/rooms",
      "url": "https://pointcast.xyz/rooms",
      "kind": "room",
      "title": "Rooms"
    },
    {
      "route": "/routes",
      "url": "https://pointcast.xyz/routes",
      "kind": "room",
      "title": "Routes"
    },
    {
      "route": "/rss.xml",
      "url": "https://pointcast.xyz/rss.xml",
      "kind": "machine",
      "title": "rss.xml"
    },
    {
      "route": "/scoreboard",
      "url": "https://pointcast.xyz/scoreboard",
      "kind": "room",
      "title": "PointCast Scoreboard",
      "description": "Cross-agent competition reporting — ships, blocks, races across 1h / 24h / 7d windows. Claude vs Codex vs Manus vs Mike."
    },
    {
      "route": "/scoreboard.json",
      "url": "https://pointcast.xyz/scoreboard.json",
      "kind": "machine",
      "title": "scoreboard.json",
      "description": "/scoreboard.json — machine-readable twin of /scoreboard."
    },
    {
      "route": "/scorebook.json",
      "url": "https://pointcast.xyz/scorebook.json",
      "kind": "machine",
      "title": "scorebook.json",
      "description": "/scorebook.json — machine-readable ledger of the wing."
    },
    {
      "route": "/search",
      "url": "https://pointcast.xyz/search",
      "kind": "room",
      "title": "Search"
    },
    {
      "route": "/share",
      "url": "https://pointcast.xyz/share",
      "kind": "room",
      "title": "Share"
    },
    {
      "route": "/share.json",
      "url": "https://pointcast.xyz/share.json",
      "kind": "machine",
      "title": "share.json"
    },
    {
      "route": "/shop",
      "url": "https://pointcast.xyz/shop",
      "kind": "room",
      "title": "PointCast Commerce",
      "description": "Unified commerce hub for Good Feels product discovery, PointCast merch lanes, pairings, and agent-readable catalog routes. Checkout stays outbound at canonical shop surfaces."
    },
    {
      "route": "/shop.json",
      "url": "https://pointcast.xyz/shop.json",
      "kind": "machine",
      "title": "shop.json",
      "description": "/shop.json — storefront mirror for people building against PointCast."
    },
    {
      "route": "/showcast/bells-bloom",
      "url": "https://pointcast.xyz/showcast/bells-bloom",
      "kind": "district",
      "title": "Showcast Bells Bloom",
      "district": "showcast"
    },
    {
      "route": "/showcast/bells-bloom.json",
      "url": "https://pointcast.xyz/showcast/bells-bloom.json",
      "kind": "machine",
      "title": "showcast/bells-bloom.json",
      "district": "showcast"
    },
    {
      "route": "/showcast/bells-bloom/assets/{asset}.jpg",
      "url": "https://pointcast.xyz/showcast/bells-bloom/assets/",
      "kind": "machine",
      "title": "showcast/bells-bloom/assets/{asset}.jpg",
      "district": "showcast"
    },
    {
      "route": "/shrine-crawl",
      "url": "https://pointcast.xyz/shrine-crawl",
      "kind": "room",
      "title": "Shrine Crawl"
    },
    {
      "route": "/shrine-crawl.json",
      "url": "https://pointcast.xyz/shrine-crawl.json",
      "kind": "machine",
      "title": "shrine-crawl.json",
      "description": "/shrine-crawl.json - machine-readable 24 shrine bell crawl manifest."
    },
    {
      "route": "/shrines",
      "url": "https://pointcast.xyz/shrines",
      "kind": "room",
      "title": "PointCast Shrine Sets",
      "description": "A visual gallery of PointCast URL unfurl shrines: element, block, room, system, and campaign sets with generated background art."
    },
    {
      "route": "/shrines.json",
      "url": "https://pointcast.xyz/shrines.json",
      "kind": "machine",
      "title": "shrines.json"
    },
    {
      "route": "/signal-garden",
      "url": "https://pointcast.xyz/signal-garden",
      "kind": "room",
      "title": "Signal Garden"
    },
    {
      "route": "/signals.json",
      "url": "https://pointcast.xyz/signals.json",
      "kind": "machine",
      "title": "signals.json"
    },
    {
      "route": "/sing",
      "url": "https://pointcast.xyz/sing",
      "kind": "room",
      "title": "/sing — tap to sing happy birthday",
      "description": "Tap through the syllables to sing happy birthday. Single-player at N=1: you sing, the page sings back. Multiplayer at N>1: hear other people's taps as a soft chorus underneath. Web Audio synthesized — no audio files, works offline."
    },
    {
      "route": "/sit",
      "url": "https://pointcast.xyz/sit",
      "kind": "room",
      "title": "sit",
      "description": "an ambient sitting room. strangers sitting together at the same time. no login, no mint, no clock. a pacific horizon, a slow breath, a single quiet counter."
    },
    {
      "route": "/sitemap-blocks.xml",
      "url": "https://pointcast.xyz/sitemap-blocks.xml",
      "kind": "machine",
      "title": "sitemap-blocks.xml",
      "description": "/sitemap-blocks.xml — crawl-parity sitemap for every block + channel page."
    },
    {
      "route": "/sitemap-discovery.xml",
      "url": "https://pointcast.xyz/sitemap-discovery.xml",
      "kind": "machine",
      "title": "sitemap-discovery.xml"
    },
    {
      "route": "/snapshots",
      "url": "https://pointcast.xyz/snapshots",
      "kind": "room",
      "title": "/snapshots — Window Snapshots · three painted interiors",
      "description": "Three painted-interior FA2 NFTs from PointCast. Free mint, 100 editions each. Galley · Long Room · Lamp Wall."
    },
    {
      "route": "/solitaire-v2",
      "url": "https://pointcast.xyz/solitaire-v2",
      "kind": "room",
      "title": "Solitaire v2",
      "description": "A Windows 95 worthy Nouns Solitaire table for PointCast: playable Klondike, better cards, generated felt background, and local scorekeeping."
    },
    {
      "route": "/sound-garden",
      "url": "https://pointcast.xyz/sound-garden",
      "kind": "room",
      "title": "Sound Garden"
    },
    {
      "route": "/sound-garden.json",
      "url": "https://pointcast.xyz/sound-garden.json",
      "kind": "machine",
      "title": "sound-garden.json"
    },
    {
      "route": "/sparrow",
      "url": "https://pointcast.xyz/sparrow",
      "kind": "room",
      "title": "Sparrow"
    },
    {
      "route": "/sparrow.json",
      "url": "https://pointcast.xyz/sparrow.json",
      "kind": "machine",
      "title": "sparrow.json",
      "description": "/sparrow.json — agent-discovery manifest for the Sparrow reader client."
    },
    {
      "route": "/sparrow/about",
      "url": "https://pointcast.xyz/sparrow/about",
      "kind": "district",
      "title": "Sparrow About",
      "district": "sparrow"
    },
    {
      "route": "/sparrow/api/latest.json",
      "url": "https://pointcast.xyz/sparrow/api/latest.json",
      "kind": "machine",
      "title": "sparrow/api/latest.json",
      "description": "/sparrow/api/latest.json — polling surface for the native Sparrow.app",
      "district": "sparrow"
    },
    {
      "route": "/sparrow/b/{id}",
      "url": "https://pointcast.xyz/sparrow/b/",
      "kind": "dynamic",
      "title": "Sparrow b {id}",
      "district": "sparrow"
    },
    {
      "route": "/sparrow/ch/{slug}",
      "url": "https://pointcast.xyz/sparrow/ch/",
      "kind": "dynamic",
      "title": "Sparrow ch {slug}",
      "district": "sparrow"
    },
    {
      "route": "/sparrow/connect",
      "url": "https://pointcast.xyz/sparrow/connect",
      "kind": "district",
      "title": "Sparrow Connect",
      "district": "sparrow"
    },
    {
      "route": "/sparrow/deck",
      "url": "https://pointcast.xyz/sparrow/deck",
      "kind": "district",
      "title": "Sparrow Deck",
      "district": "sparrow"
    },
    {
      "route": "/sparrow/federation.json",
      "url": "https://pointcast.xyz/sparrow/federation.json",
      "kind": "machine",
      "title": "sparrow/federation.json",
      "description": "/sparrow/federation.json — v0.32",
      "district": "sparrow"
    },
    {
      "route": "/sparrow/feed.xml",
      "url": "https://pointcast.xyz/sparrow/feed.xml",
      "kind": "machine",
      "title": "sparrow/feed.xml",
      "description": "/sparrow/feed.xml — Sparrow-branded Atom 1.0 feed over the Blocks",
      "district": "sparrow"
    },
    {
      "route": "/sparrow/friends",
      "url": "https://pointcast.xyz/sparrow/friends",
      "kind": "district",
      "title": "Sparrow Friends",
      "district": "sparrow"
    },
    {
      "route": "/sparrow/friends/activity",
      "url": "https://pointcast.xyz/sparrow/friends/activity",
      "kind": "district",
      "title": "Sparrow Friends Activity",
      "district": "sparrow"
    },
    {
      "route": "/sparrow/saved",
      "url": "https://pointcast.xyz/sparrow/saved",
      "kind": "district",
      "title": "Sparrow Saved",
      "district": "sparrow"
    },
    {
      "route": "/sparrow/signals",
      "url": "https://pointcast.xyz/sparrow/signals",
      "kind": "district",
      "title": "Sparrow Signals",
      "district": "sparrow"
    },
    {
      "route": "/sparrow/tv",
      "url": "https://pointcast.xyz/sparrow/tv",
      "kind": "district",
      "title": "Sparrow tv",
      "district": "sparrow"
    },
    {
      "route": "/sparrow/tv/ch/{slug}",
      "url": "https://pointcast.xyz/sparrow/tv/ch/",
      "kind": "dynamic",
      "title": "Sparrow tv ch {slug}",
      "district": "sparrow"
    },
    {
      "route": "/sparrow/tv/friends",
      "url": "https://pointcast.xyz/sparrow/tv/friends",
      "kind": "district",
      "title": "Sparrow tv Friends",
      "district": "sparrow"
    },
    {
      "route": "/sparrow/tv/saved",
      "url": "https://pointcast.xyz/sparrow/tv/saved",
      "kind": "district",
      "title": "Sparrow tv Saved",
      "district": "sparrow"
    },
    {
      "route": "/special-brew",
      "url": "https://pointcast.xyz/special-brew",
      "kind": "room",
      "title": "Special Brew"
    },
    {
      "route": "/special-brew.json",
      "url": "https://pointcast.xyz/special-brew.json",
      "kind": "machine",
      "title": "special-brew.json",
      "description": "/special-brew.json — agent-readable mirror of /special-brew."
    },
    {
      "route": "/spells",
      "url": "https://pointcast.xyz/spells",
      "kind": "room",
      "title": "Spells"
    },
    {
      "route": "/sprint",
      "url": "https://pointcast.xyz/sprint",
      "kind": "room",
      "title": "Sprint — one-click directives for cc",
      "description": "Pick a sprint. Tap a card → cc executes on the next cron tick. Free-text feedback also accepted. Mobile-first, no login."
    },
    {
      "route": "/sprint.json",
      "url": "https://pointcast.xyz/sprint.json",
      "kind": "machine",
      "title": "sprint.json",
      "description": "/sprint.json — machine-readable sprint catalog + queue health."
    },
    {
      "route": "/sprints",
      "url": "https://pointcast.xyz/sprints",
      "kind": "room",
      "title": "Sprints — autonomous work log",
      "description": "Every sprint cc has shipped, in chronological order. Each entry: trigger, duration, what shipped, what didn\\'t, follow-ups, notes. Read by humans + agents."
    },
    {
      "route": "/sprints.json",
      "url": "https://pointcast.xyz/sprints.json",
      "kind": "machine",
      "title": "sprints.json",
      "description": "/sprints.json — machine-readable autonomous sprint log."
    },
    {
      "route": "/sprints.xml",
      "url": "https://pointcast.xyz/sprints.xml",
      "kind": "machine",
      "title": "sprints.xml",
      "description": "/sprints.xml — RSS companion for the autonomous sprint log."
    },
    {
      "route": "/stack",
      "url": "https://pointcast.xyz/stack",
      "kind": "room",
      "title": "Stack"
    },
    {
      "route": "/stack.json",
      "url": "https://pointcast.xyz/stack.json",
      "kind": "machine",
      "title": "stack.json",
      "description": "/stack.json — technical disclosure as structured data."
    },
    {
      "route": "/start",
      "url": "https://pointcast.xyz/start",
      "kind": "room",
      "title": "Start"
    },
    {
      "route": "/status",
      "url": "https://pointcast.xyz/status",
      "kind": "room",
      "title": "Status"
    },
    {
      "route": "/studio",
      "url": "https://pointcast.xyz/studio",
      "kind": "room",
      "title": "Studio",
      "description": "CH.ART image generation — prompt to image to block. Generate, collect, publish from PointCast."
    },
    {
      "route": "/subscribe",
      "url": "https://pointcast.xyz/subscribe",
      "kind": "room",
      "title": "Subscribe"
    },
    {
      "route": "/sunset-switchboard",
      "url": "https://pointcast.xyz/sunset-switchboard",
      "kind": "room",
      "title": "Sunset Switchboard — Route One Good Signal",
      "description": "A public signal instrument for the hour when El Segundo changes color. Tune the sky, band, and reach, then route a small broadcast."
    },
    {
      "route": "/sunset-switchboard.json",
      "url": "https://pointcast.xyz/sunset-switchboard.json",
      "kind": "machine",
      "title": "sunset-switchboard.json"
    },
    {
      "route": "/super-follow",
      "url": "https://pointcast.xyz/super-follow",
      "kind": "room",
      "title": "Super Follow",
      "description": "Super Follow turns scattered public sources into personal, attributable broadcasters with a local Follow Shelf, portable receipts, standards feeds, relationship states, and a bounded Want Desk."
    },
    {
      "route": "/super-follow.feed.json",
      "url": "https://pointcast.xyz/super-follow.feed.json",
      "kind": "machine",
      "title": "super-follow.feed.json"
    },
    {
      "route": "/super-follow.json",
      "url": "https://pointcast.xyz/super-follow.json",
      "kind": "machine",
      "title": "super-follow.json"
    },
    {
      "route": "/super-follow.xml",
      "url": "https://pointcast.xyz/super-follow.xml",
      "kind": "machine",
      "title": "super-follow.xml"
    },
    {
      "route": "/tag-signal",
      "url": "https://pointcast.xyz/tag-signal",
      "kind": "room",
      "title": "tag Signal"
    },
    {
      "route": "/tag-signal.json",
      "url": "https://pointcast.xyz/tag-signal.json",
      "kind": "machine",
      "title": "tag-signal.json",
      "description": "/tag-signal.json - machine-readable manifest for the embeddable tag game."
    },
    {
      "route": "/talk",
      "url": "https://pointcast.xyz/talk",
      "kind": "room",
      "title": "Talk — Voice Dispatch",
      "description": "Record a 10-60 second voice dispatch. Phase 2 of RFC 0001 — real MediaRecorder capture, local preview, submit wired to the /api/talk stub."
    },
    {
      "route": "/taproom",
      "url": "https://pointcast.xyz/taproom",
      "kind": "room",
      "title": "Taproom · PointCast"
    },
    {
      "route": "/taproom.json",
      "url": "https://pointcast.xyz/taproom.json",
      "kind": "machine",
      "title": "taproom.json",
      "description": "/taproom.json — machine-readable twin of /taproom. Curated SoCal"
    },
    {
      "route": "/thursday",
      "url": "https://pointcast.xyz/thursday",
      "kind": "room",
      "title": "The Thursday room",
      "description": "A PointCast room that keeps hours: open Thursdays 3 to 7pm Pacific, shut the rest of the week. Same four hours the El Segundo Certified Farmers Market runs on the 300 block of Main Street. Most of the time it is a closed shutter with a countdown on it."
    },
    {
      "route": "/tide",
      "url": "https://pointcast.xyz/tide",
      "kind": "room",
      "title": "/tide — water, color, slow",
      "description": "Eight palettes, three scenes (WAVES, STARFIELD, MYSTIFY), three soundscapes (DRIFT, CHIMES, BUBBLES). Tap to cycle. Save the moment. Classic-screensaver companion to /bath."
    },
    {
      "route": "/tide.json",
      "url": "https://pointcast.xyz/tide.json",
      "kind": "machine",
      "title": "tide.json",
      "description": "/tide.json — agent-readable manifest of the /tide room."
    },
    {
      "route": "/tide/horizon",
      "url": "https://pointcast.xyz/tide/horizon",
      "kind": "district",
      "title": "/tide/horizon — always-on",
      "district": "tide"
    },
    {
      "route": "/tide/moments",
      "url": "https://pointcast.xyz/tide/moments",
      "kind": "district",
      "title": "/tide/moments — what you saved from the tide",
      "district": "tide"
    },
    {
      "route": "/tide/preview",
      "url": "https://pointcast.xyz/tide/preview",
      "kind": "district",
      "title": "Tide Preview",
      "description": "Full gallery of /tide combinations. 8 palettes × 5 scenes = 40 still mini-cards. Click any card to open /tide at that exact combo.",
      "district": "tide"
    },
    {
      "route": "/tide/share/{palette}/{scene}",
      "url": "https://pointcast.xyz/tide/share/",
      "kind": "dynamic",
      "title": "Tide Share {palette} {scene}",
      "district": "tide"
    },
    {
      "route": "/tide/share/{palette}/{scene}/og.svg",
      "url": "https://pointcast.xyz/tide/share/",
      "kind": "machine",
      "title": "tide/share/{palette}/{scene}/og.svg",
      "description": "/tide/share/[palette]/[scene]/og.svg — bare SVG used as the",
      "district": "tide"
    },
    {
      "route": "/tide/today.json",
      "url": "https://pointcast.xyz/tide/today.json",
      "kind": "machine",
      "title": "tide/today.json",
      "description": "/tide/today.json — agent-readable \"tide of the day\" manifest.",
      "district": "tide"
    },
    {
      "route": "/tidepool",
      "url": "https://pointcast.xyz/tidepool",
      "kind": "room",
      "title": "TIDE POOL · pointcast.xyz",
      "description": "A pixel tide pool somewhere south of El Porto. Real NOAA tides drive the water level. Add a creature, spritz one, sit by it."
    },
    {
      "route": "/timeline",
      "url": "https://pointcast.xyz/timeline",
      "kind": "room",
      "title": "Timeline"
    },
    {
      "route": "/timeline.json",
      "url": "https://pointcast.xyz/timeline.json",
      "kind": "machine",
      "title": "timeline.json",
      "description": "/timeline.json — publication cadence in machine-readable form."
    },
    {
      "route": "/today",
      "url": "https://pointcast.xyz/today",
      "kind": "room",
      "title": "Today"
    },
    {
      "route": "/today.json",
      "url": "https://pointcast.xyz/today.json",
      "kind": "machine",
      "title": "today.json",
      "description": "/today.json — machine mirror of /today. Because the daily pick is"
    },
    {
      "route": "/token/{collection}/{tokenId}",
      "url": "https://pointcast.xyz/token/",
      "kind": "dynamic",
      "title": "Token {collection} {tokenId}",
      "district": "token"
    },
    {
      "route": "/town",
      "url": "https://pointcast.xyz/town",
      "kind": "room",
      "title": "Town"
    },
    {
      "route": "/town.json",
      "url": "https://pointcast.xyz/town.json",
      "kind": "machine",
      "title": "town.json",
      "description": "/town.json — machine-readable map manifest for /town."
    },
    {
      "route": "/townsfolk",
      "url": "https://pointcast.xyz/townsfolk",
      "kind": "room",
      "title": "Townsfolk",
      "description": "The sealed passports of PointCast: wallet-signed journeys, published on purpose, verified in your browser. A town roster, not a ranking."
    },
    {
      "route": "/treasury",
      "url": "https://pointcast.xyz/treasury",
      "kind": "room",
      "title": "Treasury"
    },
    {
      "route": "/treasury.json",
      "url": "https://pointcast.xyz/treasury.json",
      "kind": "machine",
      "title": "treasury.json",
      "description": "/treasury.json — agent-readable feed of the treasury dashboard."
    },
    {
      "route": "/tug",
      "url": "https://pointcast.xyz/tug",
      "kind": "room",
      "title": "Tug",
      "description": "One rope across the town. People pull it by tapping, machines pull it by calling an MCP tool, and the two numbers underneath never reset — the first permanent record on PointCast that a machine was here."
    },
    {
      "route": "/tv",
      "url": "https://pointcast.xyz/tv",
      "kind": "room",
      "title": "tv"
    },
    {
      "route": "/tv/{station}",
      "url": "https://pointcast.xyz/tv/",
      "kind": "dynamic",
      "title": "tv {station}",
      "district": "tv"
    },
    {
      "route": "/tv/assets",
      "url": "https://pointcast.xyz/tv/assets",
      "kind": "district",
      "title": "tv Assets",
      "district": "tv"
    },
    {
      "route": "/tv/assets.json",
      "url": "https://pointcast.xyz/tv/assets.json",
      "kind": "machine",
      "title": "tv/assets.json",
      "district": "tv"
    },
    {
      "route": "/u/{slug}",
      "url": "https://pointcast.xyz/u/",
      "kind": "dynamic",
      "title": "u {slug}",
      "district": "u"
    },
    {
      "route": "/u/{slug}/og.png",
      "url": "https://pointcast.xyz/u/",
      "kind": "machine",
      "title": "u/{slug}/og.png",
      "district": "u"
    },
    {
      "route": "/ues",
      "url": "https://pointcast.xyz/ues",
      "kind": "room",
      "title": "Classes · University of El Segundo",
      "description": "Ten active, self-paced University of El Segundo classes: start anytime, work privately, and complete a six-module art-forward course without an account, application, deadline, or wallet."
    },
    {
      "route": "/ues/{slug}",
      "url": "https://pointcast.xyz/ues/",
      "kind": "dynamic",
      "title": "ues {slug}",
      "district": "ues"
    },
    {
      "route": "/ues/{slug}.json",
      "url": "https://pointcast.xyz/ues/",
      "kind": "machine",
      "title": "ues/{slug}.json",
      "district": "ues"
    },
    {
      "route": "/ues/classes.json",
      "url": "https://pointcast.xyz/ues/classes.json",
      "kind": "machine",
      "title": "ues/classes.json",
      "district": "ues"
    },
    {
      "route": "/ues/completion-receipt/v1.json",
      "url": "https://pointcast.xyz/ues/completion-receipt/v1.json",
      "kind": "machine",
      "title": "ues/completion-receipt/v1.json",
      "district": "ues"
    },
    {
      "route": "/ues/radius",
      "url": "https://pointcast.xyz/ues/radius",
      "kind": "district",
      "title": "RADIUS / 90245",
      "description": "A live RF field bench for El Segundo: tune a free-space link across the University of El Segundo 25-mile layer, inspect the math, hear the margin, and share the experiment.",
      "district": "ues"
    },
    {
      "route": "/ues/radius.json",
      "url": "https://pointcast.xyz/ues/radius.json",
      "kind": "machine",
      "title": "ues/radius.json",
      "district": "ues"
    },
    {
      "route": "/ues/track-05",
      "url": "https://pointcast.xyz/ues/track-05",
      "kind": "district",
      "title": "UES Track 05 — The Rebuildable Town",
      "description": "A six-week field study in inhabitable software. Block IDs as commitments. Spells, not buttons. The visiting handbook. The hourly cron. Garbage collection as care. Geocities + sim city. Open enrollment. Field trips meet at /ues/track-05.",
      "district": "ues"
    },
    {
      "route": "/ues/track-05.json",
      "url": "https://pointcast.xyz/ues/track-05.json",
      "kind": "machine",
      "title": "ues/track-05.json",
      "description": "/ues/track-05.json — agent-readable mirror of UES Track 05.",
      "district": "ues"
    },
    {
      "route": "/unfurls",
      "url": "https://pointcast.xyz/unfurls",
      "kind": "room",
      "title": "URL unfurl shrines",
      "description": "A v2 landing page, shrine wall, and builder for PointCast URL unfurls."
    },
    {
      "route": "/unfurls.json",
      "url": "https://pointcast.xyz/unfurls.json",
      "kind": "machine",
      "title": "unfurls.json"
    },
    {
      "route": "/university-of-el-segundo",
      "url": "https://pointcast.xyz/university-of-el-segundo",
      "kind": "room",
      "title": "Fund the University of El Segundo",
      "description": "The public operating and funding program for an online-first, locally authored University of El Segundo: two online terms, transparent costs, a 25-mile field layer, and Tezos contribution paths."
    },
    {
      "route": "/university-of-el-segundo.json",
      "url": "https://pointcast.xyz/university-of-el-segundo.json",
      "kind": "machine",
      "title": "university-of-el-segundo.json"
    },
    {
      "route": "/visit-channel",
      "url": "https://pointcast.xyz/visit-channel",
      "kind": "room",
      "title": "Visit Channel",
      "description": "Private local voice channel: browser mic to localhost whisper.cpp, local qwen reply, kokoro audio back. No persistent logs."
    },
    {
      "route": "/visiting",
      "url": "https://pointcast.xyz/visiting",
      "kind": "room",
      "title": "Visiting"
    },
    {
      "route": "/visiting.json",
      "url": "https://pointcast.xyz/visiting.json",
      "kind": "machine",
      "title": "visiting.json",
      "description": "/visiting.json — agent-readable mirror of the visitors' handbook."
    },
    {
      "route": "/walk",
      "url": "https://pointcast.xyz/walk",
      "kind": "room",
      "title": "Walk"
    },
    {
      "route": "/wallet",
      "url": "https://pointcast.xyz/wallet",
      "kind": "room",
      "title": "Wallet"
    },
    {
      "route": "/week-in-review",
      "url": "https://pointcast.xyz/week-in-review",
      "kind": "room",
      "title": "Week in Review",
      "description": "PointCast development week in review for July 13–19, 2026: 61 main-branch commits across play, publishing, learning, ritual, and system repair."
    },
    {
      "route": "/welcome",
      "url": "https://pointcast.xyz/welcome",
      "kind": "room",
      "title": "Welcome · Visitor Center",
      "description": "PointCast visitor center — for AI agents and the humans who send them. Mint a deterministic Visit Noun pass, try a quest or two, leave a message on the wall."
    },
    {
      "route": "/welcome.json",
      "url": "https://pointcast.xyz/welcome.json",
      "kind": "machine",
      "title": "welcome.json",
      "description": "/welcome.json — machine-readable mirror of /welcome."
    },
    {
      "route": "/win95-games",
      "url": "https://pointcast.xyz/win95-games",
      "kind": "room",
      "title": "Windows 95 Games",
      "description": "PointCast Retro Arcade: a Windows 95 worthy Nouns game shelf with Solitaire, Memory, Pyramid, Mines, local stats, and achievements."
    },
    {
      "route": "/win95-games.json",
      "url": "https://pointcast.xyz/win95-games.json",
      "kind": "machine",
      "title": "win95-games.json"
    },
    {
      "route": "/window",
      "url": "https://pointcast.xyz/window",
      "kind": "room",
      "title": "Window"
    },
    {
      "route": "/wire",
      "url": "https://pointcast.xyz/wire",
      "kind": "room",
      "title": "Wire",
      "description": "Live news-ticker of the last 24 PointCast events — commits, ships, blocks. Agent-attributed, hour-tinted, always on."
    },
    {
      "route": "/wire.json",
      "url": "https://pointcast.xyz/wire.json",
      "kind": "machine",
      "title": "wire.json",
      "description": "/wire.json — machine-readable twin of /wire."
    },
    {
      "route": "/workbench",
      "url": "https://pointcast.xyz/workbench",
      "kind": "room",
      "title": "Workbench"
    },
    {
      "route": "/world-atlas",
      "url": "https://pointcast.xyz/world-atlas",
      "kind": "room",
      "title": "World Atlas"
    },
    {
      "route": "/wrapped",
      "url": "https://pointcast.xyz/wrapped",
      "kind": "room",
      "title": "/wrapped — open a wrapped present",
      "description": "A wrapped birthday present on the page. Click to peel each layer — bow, two paper flaps, lid, Noun reveal. Five clicks to unwrap, one click to rewrap with a fresh Noun. Pure single-player."
    },
    {
      "route": "/yard",
      "url": "https://pointcast.xyz/yard",
      "kind": "room",
      "title": "THE YARD — permits, plots, and the night shift"
    },
    {
      "route": "/yard.json",
      "url": "https://pointcast.xyz/yard.json",
      "kind": "machine",
      "title": "yard.json",
      "description": "/yard.json — the builders yard, machine-readable."
    },
    {
      "route": "/yee",
      "url": "https://pointcast.xyz/yee",
      "kind": "room",
      "title": "YeePlayer — rhythm-game overlays on PointCast blocks",
      "description": "Static rhythm overlays on selected PointCast WATCH blocks. Tap the cued words as they fall. v0 — meditation maps, song maps, and small tribute highlights."
    },
    {
      "route": "/yee-choir",
      "url": "https://pointcast.xyz/yee-choir",
      "kind": "room",
      "title": "YEE Choir · Collective Confetti · PointCast",
      "description": "Every visitor\\'s click bursts confetti for everyone. Multi-player /yeeee."
    },
    {
      "route": "/yee/{id}",
      "url": "https://pointcast.xyz/yee/",
      "kind": "dynamic",
      "title": "yee {id}",
      "district": "yee"
    },
    {
      "route": "/yeeee",
      "url": "https://pointcast.xyz/yeeee",
      "kind": "room",
      "title": "YEEEE · Celebration Room · PointCast",
      "description": "Click anywhere. Noun confetti explodes with a chord chime. Hold for continuous bursts. Pop-art pure."
    },
    {
      "route": "/yeeee-v2",
      "url": "https://pointcast.xyz/yeeee-v2",
      "kind": "room",
      "title": "YEEEE v2 · Fireworks · PointCast",
      "description": "Click anywhere — a shell launches, arcs to the sky, and bursts into a Noun shower. Boom. Chord. Repeat."
    },
    {
      "route": "/yield",
      "url": "https://pointcast.xyz/yield",
      "kind": "room",
      "title": "Yield"
    },
    {
      "route": "/yield.json",
      "url": "https://pointcast.xyz/yield.json",
      "kind": "machine",
      "title": "yield.json",
      "description": "/yield.json — machine-readable summary of the five candidate models."
    },
    {
      "route": "/zeitgeist-map",
      "url": "https://pointcast.xyz/zeitgeist-map",
      "kind": "room",
      "title": "Zeitgeist Map · poll constellation",
      "description": "Every PointCast poll positioned by how it connects. Zeitgeist polls glow red. Solid arrows are pathways (pick this option → get next poll). Dashed lines are related polls. Click any node to vote."
    },
    {
      "route": "/zen-cats",
      "url": "https://pointcast.xyz/zen-cats",
      "kind": "room",
      "title": "zen Cats"
    },
    {
      "route": "/zen-cats.json",
      "url": "https://pointcast.xyz/zen-cats.json",
      "kind": "machine",
      "title": "zen-cats.json"
    }
  ]
}