{
  "$schema": "https://pointcast.xyz/for-agents",
  "generatedAt": "2026-10-22T18:41:47.936Z",
  "name": "Cabinet Row",
  "human": "https://pointcast.xyz/cabinet-row",
  "image": "https://pointcast.xyz/images/cabinet-row/og.png",
  "intent": "The lobby for the PointCast 8-bit arcade: one cabinet per game that shares the Breakwater cabinet (pixel font, Atari 800XL and Commodore 64 palettes, mood model), the mood the player left the last game in, and the next cabinet for that mood.",
  "credits": {
    "director": "Michael Hoydich",
    "build": "Claude Code, 2026-10-22"
  },
  "litCount": 6,
  "cabinets": [
    {
      "slug": "breakwater",
      "name": "Breakwater",
      "tagline": "A breakout for the 8-bit heart",
      "after": "Breakout",
      "year": 1976,
      "wave": 1,
      "lit": true,
      "url": "https://pointcast.xyz/breakwater",
      "json": "https://pointcast.xyz/breakwater.json",
      "cover": "https://pointcast.xyz/images/breakwater/og.png",
      "suitsMoods": [
        "FLOW",
        "DAWN"
      ],
      "browserStorageKey": "breakwater:v1"
    },
    {
      "slug": "tideline",
      "name": "Tideline",
      "tagline": "Pong stood on its end",
      "after": "Pong",
      "year": 1972,
      "wave": 1,
      "lit": true,
      "url": "https://pointcast.xyz/tideline",
      "json": "https://pointcast.xyz/tideline.json",
      "cover": "https://pointcast.xyz/images/tideline/og.png",
      "suitsMoods": [
        "FLOW",
        "DAWN"
      ],
      "browserStorageKey": "tideline:v1"
    },
    {
      "slug": "kelp",
      "name": "Kelp",
      "tagline": "A snake for the 8-bit heart",
      "after": "Snake and Nibbler",
      "year": 1982,
      "wave": 1,
      "lit": true,
      "url": "https://pointcast.xyz/kelp",
      "json": "https://pointcast.xyz/kelp.json",
      "cover": "https://pointcast.xyz/images/kelp/og.png",
      "suitsMoods": [
        "DRIFT",
        "FLOW"
      ],
      "browserStorageKey": "kelp:v1"
    },
    {
      "slug": "soft-landing",
      "name": "Soft Landing",
      "tagline": "Set it down gently",
      "after": "Lunar Lander",
      "year": 1979,
      "wave": 1,
      "lit": true,
      "url": "https://pointcast.xyz/soft-landing",
      "json": "https://pointcast.xyz/soft-landing.json",
      "cover": "https://pointcast.xyz/images/soft-landing/og.png",
      "suitsMoods": [
        "DAWN",
        "DRIFT"
      ],
      "browserStorageKey": "soft-landing:v1"
    },
    {
      "slug": "crosswalk",
      "name": "Crosswalk",
      "tagline": "Five lanes to the sand",
      "after": "Frogger",
      "year": 1981,
      "wave": 1,
      "lit": true,
      "url": "https://pointcast.xyz/crosswalk",
      "json": "https://pointcast.xyz/crosswalk.json",
      "cover": "https://pointcast.xyz/images/crosswalk/og.png",
      "suitsMoods": [
        "RUSH",
        "FLOW"
      ],
      "browserStorageKey": "crosswalk:v1"
    },
    {
      "slug": "driftwood",
      "name": "Driftwood",
      "tagline": "Asteroids on the water",
      "after": "Asteroids",
      "year": 1979,
      "wave": 1,
      "lit": true,
      "url": "https://pointcast.xyz/driftwood",
      "json": "https://pointcast.xyz/driftwood.json",
      "cover": "https://pointcast.xyz/images/driftwood/og.png",
      "suitsMoods": [
        "RUSH"
      ],
      "browserStorageKey": "driftwood:v1"
    },
    {
      "slug": "lighthouse",
      "name": "Lighthouse",
      "tagline": "Follow the light",
      "after": "Simon",
      "year": 1978,
      "wave": 2,
      "lit": false,
      "url": null,
      "json": null,
      "cover": null,
      "suitsMoods": [
        "DRIFT",
        "DAWN"
      ],
      "browserStorageKey": "lighthouse:v1"
    },
    {
      "slug": "low-tide",
      "name": "Low Tide",
      "tagline": "Catch what the gull drops",
      "after": "Kaboom!",
      "year": 1981,
      "wave": 2,
      "lit": false,
      "url": null,
      "json": null,
      "cover": null,
      "suitsMoods": [
        "RUSH",
        "FLOW"
      ],
      "browserStorageKey": "low-tide:v1"
    },
    {
      "slug": "morning-route",
      "name": "Morning Route",
      "tagline": "Deliver the Morning Edition",
      "after": "Paperboy",
      "year": 1985,
      "wave": 2,
      "lit": false,
      "url": null,
      "json": null,
      "cover": null,
      "suitsMoods": [
        "DAWN",
        "FLOW"
      ],
      "browserStorageKey": "morning-route:v1"
    },
    {
      "slug": "sea-glass",
      "name": "Sea Glass",
      "tagline": "Turn every stone",
      "after": "Q*bert",
      "year": 1982,
      "wave": 2,
      "lit": false,
      "url": null,
      "json": null,
      "cover": null,
      "suitsMoods": [
        "FLOW",
        "DRIFT"
      ],
      "browserStorageKey": "sea-glass:v1"
    },
    {
      "slug": "sandcastle",
      "name": "Sandcastle",
      "tagline": "Hold back the tide",
      "after": "Missile Command",
      "year": 1980,
      "wave": 2,
      "lit": false,
      "url": null,
      "json": null,
      "cover": null,
      "suitsMoods": [
        "RUSH"
      ],
      "browserStorageKey": "sandcastle:v1"
    }
  ],
  "rules": {
    "lit": "A cabinet is lit when its game is in the PointCast game catalog, so each game lights its own cabinet when it is published.",
    "moods": [
      "DAWN",
      "FLOW",
      "RUSH",
      "DRIFT"
    ],
    "rowMood": "The town mood pc:mood is written by the last game played (chill, flow, hype, quiet) and maps back to DAWN, FLOW, RUSH, DRIFT. Without it, the most common label in the last ten mood samples of every game wins. Without any play, DAWN.",
    "townToLabel": {
      "chill": "DAWN",
      "flow": "FLOW",
      "hype": "RUSH",
      "quiet": "DRIFT"
    },
    "nextCabinet": "A lit cabinet whose suitsMoods includes the row mood, strongest affinity first, preferring one not yet played in this browser; otherwise any unplayed lit cabinet; otherwise any lit cabinet.",
    "why": {
      "DAWN": "something to warm up with",
      "FLOW": "something to keep a rally going",
      "RUSH": "something fast",
      "DRIFT": "something gentle"
    },
    "privacy": "The lobby reads only what the games saved in this browser. Nothing is sent anywhere."
  },
  "links": {
    "human": "https://pointcast.xyz/cabinet-row",
    "games": "https://pointcast.xyz/games/",
    "breakwater": "https://pointcast.xyz/breakwater",
    "play": "https://pointcast.xyz/play"
  }
}