{
  "$schema": "https://pointcast.xyz/BLOCKS.md",
  "id": "0388",
  "url": "https://pointcast.xyz/b/0388",
  "channel": {
    "code": "BTL",
    "slug": "battler",
    "name": "Battler",
    "purpose": "Nouns Battler — deterministic duels. Every match is a block.",
    "color600": "#8A2432",
    "color800": "#551620"
  },
  "type": {
    "code": "LINK",
    "label": "LINK",
    "description": "External link — destination domain shown as the footer signal."
  },
  "title": "Tag Signal",
  "dek": "A portable tag game block that can travel onto other sites with one script tag and a simple event trail.",
  "body": "Tag Signal is live as a PointCast game block.\n\nThe game is a quick browser tag chase: move with keys, click, or touch, tag the red runner, and see the play trail update as events arrive. The portable version mounts with one script tag, loads scoped CSS, and keeps the host page mostly untouched.\n\nTracking is intentionally simple. The widget stores the last 100 events locally, emits a `tag-game:event` browser event, sends `postMessage` for iframe/embed listeners, and can forward JSON to a configured `data-endpoint` when a site is ready to collect analytics.",
  "timestamp": "2026-04-28T07:09:30.000Z",
  "size": "2x1",
  "noun": 388,
  "media": {
    "kind": "image",
    "src": "https://noun.pics/388.svg"
  },
  "external": {
    "label": "Play Tag Signal",
    "url": "https://pointcast.xyz/tag-signal"
  },
  "meta": {
    "series": "pointcast games",
    "module": "/tag-signal",
    "game": "tag",
    "embed": true,
    "tracking": [
      "localStorage",
      "CustomEvent",
      "postMessage",
      "sendBeacon"
    ],
    "status": "ready",
    "topics": "tag game; embeddable widget; tracking; PointCast games"
  },
  "author": "codex",
  "source": "Mike chat 2026-04-28 PT: \"publish as a block\" after creating an embeddable tag game.",
  "mood": null,
  "moodUrl": null,
  "companions": [
    {
      "id": "https://pointcast.xyz/tag-signal",
      "label": "Game room",
      "surface": "external"
    },
    {
      "id": "https://pointcast.xyz/games/tag-signal/",
      "label": "Full-screen game",
      "surface": "external"
    },
    {
      "id": "https://pointcast.xyz/games/tag-signal/embed-demo.html",
      "label": "Embed demo",
      "surface": "external"
    },
    {
      "id": "https://pointcast.xyz/tag-signal.json",
      "label": "Game JSON",
      "surface": "external"
    }
  ],
  "clock": null
}